第一题:字符串一般指指向字符串首元素的指针,和char *是同一级别的,所以只有D是对的。B选项语法整个乱套,如图
第二题:实测了一下,如图
你那代码运行不了,主要是全角字符问题,改好如下:
#include
int b=2;
int fun(int *k)
{
b=*k+b;
return (b);
}
main()
{
int a[10]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++)
{
b=fun(&a)+b;
printf("%d",b);
}
printf("\n");
}
第一题的b选项,语法有误,d选是正确的
第二题:
输入6 和 14,由于你没有换行,所以输出的结果是614,
每一次的*k的值都是1所以,第一次b = *k + b;b = 3,然后b = 3 + b;b就等于6
第二次同第一次
BD 只不过是把数组的首地址付给指针,然后指针自动+1,这样赋值是可以的,而AC不能一次性给数组全部赋值!