点赞(0)
 

0.0分

26 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 8 条评论

胡八一 11月前 回复TA
@胡八一 弄明白了,谢谢!
uq_24592413262 11月前 回复TA
@胡八一 while (~scanf("%d%d", &a, &b)) 的含义是: 当 scanf 成功读取两个整数时,~scanf 的结果为 0,即取反后为真,进入循环体执行代码块。 如果 scanf 无法成功读取两个整数,~scanf 的结果为非零值,循环终止。
胡八一 11月前 回复TA
@yy Ctrl+Z可以退出啊
胡八一 11月前 回复TA
请问不加~为什么错
生生 1年前 回复TA
@yy 怎么退出呢?
叶秋 1年前 回复TA
@轻空 你咋停止循环
轻空 1年前 回复TA
#include<stdio.h>
int main()
{
    int a,b;
    for(int i=1;;i++){
        scanf("%d %d",&a,&b);
        printf("%d\n",a+b);}
    return 0;
}
那位大佬来解释一下为什么这个不行啊
yy 1年前 回复TA
请教一下:和不加~的写法有什么区别啊?而且代码在自己的编译器上也能正常运行
#include<stdio.h>
int main()
{
	int a,b;
	while(scanf("%d%d",&a, &b))
		printf("%d\n",a+b);
	return 0;
}