明明 if语句表明了 会结束 但是这个code一直不结束 怎么回事 大神们解释一下 感激不尽

2025-03-22 21:51:08
推荐回答(3个)
回答1:

if里面是以判断'\0'作为结束的字符,但是请问,在命令行下,你要如何用键盘输入'\0'呢?没办法输入'\0',当然退不出第一个for循环。

下面是我的修改建议:

#include
int main(void)
{
char a[100];
int i, j;
printf("Enter a massage :");
for(i=0;;i++)
{
scanf("%c",&a[i]);
if(a[i]=='!')
{
break;
}
}

printf("line %d\n", __LINE__);

for(j=0; j<=i; j++)
{
printf("%c",a[j]);
}

return 0;
}

回答2:

Break与for不能搭配。

回答3:

第二个for循环没有跳出的条件?