c语言 while(~scanf(“%c”,&c))的含义是什么

2024-12-14 11:32:41
推荐回答(2个)
回答1:

就是当输入一个整型,且这个整型的数不是0时,条件成立,否则,若输入0,则跳过while里面的内容。

其实scanf("%d",&n),n这是一个逗号表达式,所谓逗号表达式,它的值是逗号后面的那个数,举例如下:
y=(5,6);//那么y=6,注意的是因为逗号表达式的优先级比赋值运算还低,所以如果你写成y=5,6的话y还是等于5的
也就是说while(scanf("%d",&n),n)其实相当于while(n),只是因为要输入所以写成了while(scanf("%d",&n),n)这样而已

回答2:

scanf函数的返回值是正确获得输入变量的个数。
~scanf(),就是没有得到正确输入
总体上就是,如果有正确输入,就退出循环,如果没有正确输入,就执行循环

~就是把-1变成0