vscode while 循环中printf不显示

代码如下

#include<stdio.h>

int main(){
    int i;
    while(scanf("%d",&i));
    {
    printf("i=%d\n",i);
    }
}
运行无报错,但是在终端输入后,无法打印

img

while(scanf("%d",&i)) 之后多了 ; 号
这样 while的循环体就是空的
后面的 printf("i=%d\n",i); 是在循环之外
并且判断输入结束应该加!=EOF

你题目的解答代码如下:


#include<stdio.h>

int main(){
    int i;
    while(scanf("%d",&i)!=EOF) // 去掉 ;
    {
    printf("i=%d\n",i);
    }
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632