求助呀,我同学发的,为什么结果是2020呀,求大神详细解答一下,
#include <stdio.h>int main (void)
{
int i = {i = 2};
printf("%d %d %d %d\n",i,i,i,i);
return 0;
} i=2 先执行,则 i=2,i=0,再执行 i={i=2},即:i={2,0}。因为一维数组不完全初始化(Partly initialized)规则,K&R C 中是这样阐述的:如果初始化表达式的个数比数组元素数少,则对外部变量,静态变量和自动变量来说,没有初始化表达式的元素将被初始化为 0。所以结果为 i=2,i=0,i=2,i=0。
楼上说的对,我来领鱼币 sunrise085 发表于 2020-6-3 17:59
楼上说的对,我来领鱼币
{:5_97:} {:10_257:}+1 楼上说的对~~ 路过学习一下,顺便拿个币 {:10_277:}+1
页:
[1]