求解!!想问问为什么第一个for循环跳不出来,但是把if(str[i]=='\0')
换成if(str[i]=='\n')
的时候就能顺利运行呢?
int main()
{
int i;
char str[80];
for(i=0;i<80;i++)
{
scanf("%c",&str[i]);
if(str[i]=='\0') break;
}
printf("%s",str);
return 0;
}
'\0' 结束符,你键盘无法输入,只有换行或者其他可输入字符才能判断呀
'\0'是无法输入的,所以无论输入什么,str[i]都不会等于'\0'。'\n'是回车,是可以输入的。
如果你要用 if(str[i]=='\0') break;
那么可以在循环外面 scanf("%s",str); 一次性把字符读取进来
for(i=1;i<n;i++)
{
......
if(tj)
{
......
break;
}
......
}