wp231957 发表于 2022-5-24 08:52:33

谁来编译一下,看看是否有警告出现,注明你的编译器版本

#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 会有警告出现

人造人 发表于 2022-5-24 12:40:59

$ 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

人造人 发表于 2022-5-24 12:42:10

编译命令用这个
gcc -g -Wall -o main main.c
页: [1]
查看完整版本: 谁来编译一下,看看是否有警告出现,注明你的编译器版本