(grade=cin.get())!=EOF与grade=cin.get()!=EOF有什么区别
最佳答案
这两个的区别主要是运算符优先级的问题,在C++中!=的优先级要高于=,当然()的最高
所以
第一个表达式是先执行grade=cin.get(),再判断表达式的值也就是grade的值是否不等于EOF
这个也是常用的写法
而第二个是先判断cin.get()是否不等于EOF,然后将结果赋给grade,也就是grade不是0就是1,这个一般是错误的写法
在C++中,运算符的优先级如小学数学的先+-,后*/一样,要掌握的
最佳答案由网友 whoami1978 提供
其他回答
其它网友回答:
你的问题就是这个??? (,),我看出来的就这两个。。。
追问:
我是说在程序运行中作用的区别
追答:
哦,那么不好意思了,不过网上的资料显示,这两个 的区别,估计就是 函数。。。