出現個Expression(str != NULL)


CPrimerPlus的11章復習題10:編寫個函數,其參數為一個字符串指針,返回一個指針,返回的指針指向字符串中第一個空格的位置(如果沒有空格就返回空指針)

#include <stdio.h>
char * FindSpace(char *);

int main(void)
{
    char str[] = "tom loves lily";
    puts(str);
    puts(FindSpace(str));
}

char * FindSpace(char * str)
{
    while(*str != '\0' && *str != ' ')//判斷空格和空字符誰先出現就停止循環,這是思路,而不是把所有的str中的元素判斷完再停止循環
    {    
        str++;
    }
    if (*str == ' ') 
        return str+1;
    else 
        return NULL;
}

顯示結果如下

然后改變下輸入的字符串為tomloveslily,結果就變成了:

我理解應該是puts()函數的輸入參數不可以是NULL空指針,就是參數不可以用空指針時出現這種結果。(當我注釋掉puts(FindSpace(str))就好了)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM