(ch = getchar()) != '\n' ch = getchar() != '\n' 等价吗?
时间: 2023-06-24 16:03:11 浏览: 159
这两个语句不等价。
`(ch = getchar()) != '\n'` 的意思是先执行 `getchar()` 函数获取一个字符,再将获取到的字符赋值给变量 `ch`,然后将 `ch` 和 `\n` 进行比较,如果不相等,则条件成立。这个语句的作用是获取用户输入的字符,直到输入的字符为回车符为止。
而 `ch = getchar() != '\n'` 的意思是先执行 `getchar()` 函数获取一个字符,然后将获取到的字符与 `\n` 进行比较,得到一个布尔值(`true` 或 `false`),最后将布尔值赋值给变量 `ch`。这个语句的作用是将获取到的字符和 `\n` 进行比较,然后将比较结果(布尔值)存储到变量 `ch` 中。
因此,这两个语句的作用不同,结果也不同。
阅读全文