一顿不吃饿的慌515 2021-11-15 11:44 采纳率: 75%
浏览 16
已结题

关于循环输入数据,结束运行

#include <stdio.h>
int main()
{
int a;
while(scanf("%d",&a)!=EOF)
{
printf("%d\n",a);
}
return 0;
}可以在while循环中用EOF,\n,\0等结束输入数据,这我试过了,没问题。

#include <stdio.h>
int main()
{
int a,i;
for(i=1;scanf("%d",&a)!=0;i++)
{
printf("第%d个数是%d",i,a);
}
return 0;
}但在for循环就不可以,输入一段数据(以0结束),它可以正常输出,但却无法结束循环。

是不是for循环不适应这种方法

  • 写回答

1条回答 默认 最新

  • Admini$trat0r 新星创作者: 后端开发技术领域 2021-11-15 11:56
    关注

    scanf的返回值是0或1 输入成功则返回1
    所以你的是不正确的
    请这样

    scanf("%d",&a) && a!=0
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月23日
  • 已采纳回答 11月15日
  • 创建了问题 11月15日