我是 C 初学者。当我尝试运行以下代码时:
#include <stdio.h>
int main(void) {
int a = 3, b;
b = printf("%d %d", a, a++);
a = printf(" %d", b);
printf(" %d", a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它向我展示:
error: operation on 'a' may be undefined [-Werror=sequence-point]
b = printf("%d %d", a, a++);
^
Run Code Online (Sandbox Code Playgroud)
但在这里我只改变了一次的值。那为什么会出现序列点错误呢?
我正在使用 -Wall -Werror 标志。
| 归档时间: |
|
| 查看次数: |
4191 次 |
| 最近记录: |