问两个c语言问题!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:44:16
第一个如下!
若有程序段如下:int k,x[3][3]={1,2,3,4,5,6,7,8,9};
for(k=0;k<3;k++)
printf("%d",x[k][2-k]);
那么执行后输出的结果是?
第二个如下!
选择题
在下面给出的语句中,( )是对一维数组正确赋初值的语句.
A.int a[10]="This is a string";
B.char a[ ]="This is a string";
C.int a[3]={1,2,3,4,5,0};
D.char a[3]="This is a string";
麻烦都给说明下!!太感谢勒!!!

1.
输出3,5,7
因为只有一个循环,循环变量从0到2,所以一共输出3个数。
当k从0变到2时,分别输出[0][2],[1][1],[2][0]
所以分别输出3,5,7

2.
正确的是B.
其他的都越界了。