【发布时间】:2015-02-15 21:52:07
【问题描述】:
#include<stdio.h>
#include<string.h>
int main(int argc,char *argv[])
{
char c;
char a[19][100];
int i=0;
int j=0;
while((c=fgetc(stdin))!=EOF)
{
if(c!=" ")
{
a[i][j]=c;
j++;
}
if(c==" "||c=='\n')
{
a[i][j]='\0';
i++;
j=0;
}
}
for(j=0;j<i;j++)
printf("%s \n",a[j]);
}
我得到的错误是
15.c:12:5: warning: comparison between pointer and integer[enabled by default]
if(c!=" ")
^
15.c:17:5: warning: comparison between pointer and integer [enabled by default]
if(c==" "||c=='\n')
【问题讨论】:
-
" "用于字符串(即char *)。将' '用于char。 -
你没有看到
" "和'\n'之间的不一致吗? -
注意到了,感谢您的帮助
-
相关stackoverflow.com/q/13041701/694576。由于没有提到
EOF问题,我不认为它是真正的重复。 -
c应该是int如果你想正确处理 EOF 大小写。
标签: c