while(scanf)

img


9
按位取反为什么出错?我看有的网站题目解有这个,应该是没问题的
help!

img


两个做法是一样的,学校做题的编译器还是报错,Dev显示没问题

你按位取反的是scanf函数的返回值,不是你输入的i值,scanf的返回值是指成功输入的数的个数。

scanf返回值是输入数据的个数,没有输入就返回-1
因此输入一个数,返回值是1,对1取反肯定是错的了。应该对输入的数i取反
i=~i;