关于代码for(int a,b;cin>>a>>b;) 中的cin>>a>>b;怎么关联?

怎么与真值联系起来?
for(int a,b;cin>>a>>b;)
cout<<a+b;

应该不需要a,b都不为零就该能实现a+b的,
cin>>a>>b的真值是怎么算的?

FFIVE
浏览 302回答 2
2回答

一只萌萌小番薯

cin与>>配合起来完成C的键盘输入函数scanf()的对应功能,不存在什么计算真值问题,就是接收从键盘输进来的值赋给第一个分号前申明的int型变量a和b:第一个值经回车后赋给a,第二个赋给b,同时经cout<<a+b把a+b的和显示到屏幕上。由于for语句没有循环控制变量,所以它将无限循环下去:每当从键盘输进一对整型值就输出一个和值来。这段程序分开写就好理解了,如下:int a,b;for(;;){cin>>a>>b;cout<<a+b;}这段代码与原代码是完全等效的。可以看出,for语句是无控循环,所以即便a、b同时都为0,它照样循环不止。

不负相思意

当你有输入int型数值时,对象cin返回真值。当输入不为int型数值时循环结束 ,或输入终止符时结束。
打开App,查看更多内容
随时随地看视频慕课网APP