int funint x int c;int main int a=4 y ;y=funa++a;printfd y; int funint x int c int b; ifxcb=1; else ifx==cb=0;else b=-1; return b; 答案是多少为什么不是1
根据C语言的运算顺序,函数的参数顺序是未定义的,也就是说,编译器可以先计算a或者先计算++a,所以y的值是未定义的。在实际编译中,有些编译器可能会先计算a,有些编译器可能会先计算++a,导致结果不同。因此,这段代码的行为是未定义的。
原文地址: http://www.cveoy.top/t/topic/gnNo 著作权归作者所有。请勿转载和采集!