2 u013212250 u013212250 于 2014.01.06 22:48 提问

while (scanf("%d%d",&i,&j)==2)是什么意思?向大神求解...

#include
void main()
{
int i,j;
printf("请输入两个整数:");
while (scanf("%d%d",&i,&j)==2)
{if(i%j)
printf("能整除\n");
else printf("不能整除\n");
}
return 0;
}
11 22 能整除 22 11就不能了

2个回答

asdadfsdgdfg
asdadfsdgdfg   2014.01.06 23:09

scanf("%d%d",&i,&j)是一个函数,返回正确输入的变量数量。while (scanf("%d%d",&i,&j)==2)的意思是:如果正确输入的变量数量为2的话,循环。

wayne001639
wayne001639   2014.01.09 15:48

樓上回答沒什麼問題,你應該是對輸出結果產生的疑惑吧:11%22 =11,if里的值為true,故執行的是printf("能整除\n"),22%11=0,執行的else printf("不能整除\n"),程式的語句寫反了而已。可以簡單的記住,if(0)不執行,if(非0)執行。你一開始這樣去寫就不會因為粗心弄錯了:
if( 0 == i % j)
{
printf("可以被整除\n");
}
else if( 0 != i % j)
{
printf("不可以被整除\n");
}

Csdn user default icon
上传中...
上传图片
插入图片