📅  最后修改于: 2020-10-23 01:55:03             🧑  作者: Mango
#include
int main()
{
int size, j;
scanf("%d", &size);
int arr[size];
for(j=1; j<=size; j++)
{
scanf("%d", arr[j]);
printf("%d", arr[j]);
}
return 0;
}
正确的选项是(b)。
说明:
在程序中,语句int arr [size];产生错误,因为我们无法动态初始化数组的大小。初始化数组的大小需要常量表达式。例如:int arr [20];
因此,由于声明数组的语句无效,因此代码是错误的。
正确的选项是(a)。
说明:
是的,两者的意思不同。 ‘arr’提供第一个int的地址,而’&arr’提供int数组的地址。
因此,对于由15个整数组成的数组,表达式’&arr’和’arr’是不同的。
int fun (int arr[5]);
int fun(int arr[]);
正确的选项是(b)。
说明:
不,两个声明都相同。它是fun()函数的原型,该函数接受一个整数数组作为参数,并返回一个整数值。
#include
int main()
{
int arr[2]={20};
printf("%d\n", 0[arr]);
return 0;
}
正确的选项是(c)。
说明:
步骤1: int arr [2] = {20};变量arr [2]声明为大小为’3’的整数数组,并且它的第一个元素初始化为值’20′(意味着arr [0] = 20)
步骤2: printf(“%d \ n”,0 [arr]);它打印变量“ arr”的第一个元素值。
因此,程序的输出为20。
#include
int main()
{
int arr[] = {10, 11, 12, 15, 23};
printf("%u, %u\n", arr, &arr);
return 0;
}
正确的选项是(a)。
说明:
步骤1: int arr [] = {10,11,12,15,23};变量“ arr”被声明为整数数组并初始化。
步骤2: printf(“%u,%u \ n”,arr,&arr);此处,数组的基地址为65486。
因此,arr&arr指向数组arr的基地址。
因此,程序的输出为65486,65486