谁来编译一下,看看是否有警告出现,注明你的编译器版本
#include <stdio.h>int main(void)
{
int i,j;
i=2;
j=8;
j=(i=6)+(j=3);
printf("%d %d",i,j);
return 0;
}
我的GCC 11.3居然正常编译运行结果 6 9
但据说gcc 8 会有警告出现 $ cat main.c
#include <stdio.h>
int main(void)
{
int i,j;
i=2;
j=8;
j=(i=6)+(j=3);
printf("%d %d",i,j);
puts(""); // 又不换行
return 0;
}
$ gcc --version
gcc (GCC) 12.1.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc -g -Wall -o main main.c
main.c: In function ‘main’:
main.c:10:6: warning: operation on ‘j’ may be undefined [-Wsequence-point]
10 | j=(i=6)+(j=3);
| ~^~~~~~~~~~~~
$ ./main
6 9 编译命令用这个
gcc -g -Wall -o main main.c
页:
[1]