在写1009的时候运行了如下代码:
while (c = getchar() != '\n'){
cout << int(c) << endl;
}
发现输出是1,查看ASCII码值是个控制台显示不出来的值。弄了半天才想通是运算符优先级的问题。
先运行逻辑运算符!=,再运算赋值运算符=
附上C prime上的优先级表
本文通过一个简单的 C++ 代码示例揭示了关于运算符优先级的一个常见误解,特别是涉及逻辑运算符与赋值运算符的交互。作者通过实际运行代码并观察输出结果来发现问题所在,并附上了 Cprime 上的运算符优先级表格。
在写1009的时候运行了如下代码:
while (c = getchar() != '\n'){
cout << int(c) << endl;
}
发现输出是1,查看ASCII码值是个控制台显示不出来的值。弄了半天才想通是运算符优先级的问题。
先运行逻辑运算符!=,再运算赋值运算符=
附上C prime上的优先级表
1万+
548

被折叠的 条评论
为什么被折叠?