回 帖 发 新 帖 刷新版面

主题:求高手指点

#include<stdio.h>
main()
{
    char a[100];
    int word=0,i,num=0;
    printf("input a sentence=");
    gets(a);
    for(i=0;a[i]!='\o';i++)
        if(a[i]==' ')
            word=0;
        else if(word==0)
            {
                      word=1;
               num++;                
            }
    printf("%d",num);
}

请问这里有哪里错了,比如我输入a b,然后结果确实6,太奇怪了,我调试过是2的,不知是什么原因。我是新手,请高手别见怪。。。

回复列表 (共2个回复)

沙发


#include<stdio.h>
main()
{
    char a[100];
    int word=0,i,num=0;
    printf("input a sentence=");
    gets(a);
    for(i=0;a[i]!='\0';i++)
        if(a[i]==' ')
            word=0;
        else if(word==0)
            {
                      word=1;
               num++;                
            }
    printf("%d",num);
}


你不小心把'\0'写作了'\o'   知道了吧 呵呵

板凳

真正的開發基本都不寫'\0',都基本以NULL代替。
錄入書中的示例代碼學習固然不錯,但不能不加理解的輸入。

我来回复

您尚未登录,请登录后再回复。点此登录或注册