注:文章内容来源于网络,真实性有待确认,请自行甄别。
c语言下列程序的输出结果是6为什么1.29下列程序执行后的输出结
发表于:2024-10-24 00:00:00浏览:3次
问题描述:1.29
下列执行后的输出结果是6为什么
main(){ int a[3][3], *p,i; p=&a[0][0];
for(i=p;i<9;i++) p[i]=i+1;printf("%d \n",a[1][2]);}
1.30
设有数组定义:char array [ ]="china";则数组 array所占的空间为
6个字节为什么
1.31
下列程序的输出结果是6为什么
int b=2;
int func(int *a){ b +=a; return(b);}
main() { int a=2, res=2;1.29
下列执行后的输出结果是6为什么
main(){ int a[3][3], *p,i; p=&a[0][0];
for(i=p;i<9;i++) p[i]=i+1;printf("%d \n",a[1][2]);}
1.30
设有数组定义:char array [ ]="china";则数组 array所占的空间为
6个字节为什么
1.31
下列程序的输出结果是6为什么
int b=2;
int func(int *a){ b +=a; return(b);}
main() { int a=2, res=2; res += func(&a);printf("%d \n",res);}
1.29
下列执行后的输出结果是6为什么,题目应该为下面:
main(){ int a[3][3], *p,i; p=&a[0][0];
for(i=0;i<9;i++) p[i]=i+1;printf("%d \n",a[1][2]);}
p = &a[0][0]是让p指向数组a的第一个元素,即a[0][0],是第一个元素的地址,那么p[i]代表相应元素,因为二位数组也是线性型,并且C语言中按行优先,故a[1][2]相当于是p[6]。所以答案就是6。
1.30
设有数组定义:char array [ ]="china";则数组 array所占的空间为
6个字节为什么
会在chana后面加\0,这是系统默认的。
1.31
下列程序的输出结果是6为什么
int b=2;
int func(int *a){ b +=a; return(b);}
main() { int a=2, res=2; res += func(&a);printf("%d \n",res);}
题出错了,题目应该如下:
int b=2;
int func(int *a){ b +=*a; return(b);}
main() { int a=2, res=2; res += func(&a);printf("%d \n",res);}
因为&a把a的地址传入函数func();而通过*a就是a的值2,所以最后结果相当于 res = res+(b+a)=6
栏目分类全部>