求一个详细的解答,遇到的一个问题

while (( c=getchar())!=’\n’ )和 while ( c=getchar()!=’\n’)的差别

前者先执行c=getchar(),然后判断c是否不等于'\n'
后者先判断的getchar()的结果是否不等于'\n',然后将判断结果赋值给c变量
!=的优先级高于=

(c=getchar())!='\n'和c=(getchar()!='\n')。一个是先赋值再比较,一个是先比较再赋值。
区别是最终c是什么。前面的c是输入的字符,后面的c是true或者false。

因为!=优先级比==高
while ( c=getchar()!=’\n’)就是while ( c=(getchar()!=’\n’))

赋值的优先级最低,不加括号会最后执行