📜  C数组测试1

📅  最后修改于: 2020-10-23 01:52:34             🧑  作者: Mango

C阵列测试1

1)在C语言中,如果我们将数组作为参数传递给函数,则实际上传递了什么?

  1. 数组最后一个元素的地址
  2. 阵列的基址
  3. 数组中元素的值
  4. 数组的第一个元素

正确的选项是(b)。

说明:

在C语言中,当我们将数组作为函数参数传递时,将传递数组的基地址

2)以下程序的输出是什么?

#include
main()
{ 
    char x[]="javaTpoint", y[]="javaTpoint";
    if(x==y){
     printf("Strings are Equal");
    }
}
  1. Strings are Equal
  2. No output
  3. Runtime error
  4. Compilation error

正确的选项是(a)。

说明:

在程序中,我们正在比较“ x”和“ y”的基址,但它们并不相同。

因此,该程序没有输出。

3)以下程序的输出是什么?

#include
main(){ 
   char x[] = "Hi\0Hello";
   printf("%d %d", strlen(x), sizeof(x));
}
  1. 5 9
  2. 9 20
  3. 2 9
  4. 2 5

正确的选项是(c)。

说明:

strlen(x)函数用于查找字符串“ x”的长度。在程序字符串的长度是字符高达“\ 0″的计数。因此,字符串长度输出为2。

sizeof(x)函数用于查找字符串“ x”的大小。在程序中,sizeof()返回整个数组的大小。因此,数组输出的大小为9。

因此,该程序的组合输出为2 9。

4)指向内存块的指针实际上与数组相同。

正确的选项是(a)。

说明:

使用标准库函数malloc()并将其视为数组。 array的值与指向内存块的指针相同。

因此,可以在运行时在数组中分配内存块。

5)关于C中的数组,以下哪个陈述是正确的?

  1. 表达式num [2]表示数组中的第二个元素
  2. 如果SIZE是宏,则允许声明num [SIZE]
  3. int num [20]的数组;可以存储20个元素
  4. 声明时有必要初始化数组
  1. 2
  2. 2,3
  3. 1,4
  4. 2,4

正确的选项是(b)。

说明:

    1. 表达式num [2]表示数组中的第二个元素。该语句为假,因为它表示数组的第三个元素。
    2. 如果SIZE是宏,则允许声明num [SIZE]。该语句是正确的,因为MACRO用于用给定值替换符号大小。
    3. int num [20]的数组;可以存储20个元素。这句话是真的
    4. 在声明时必须初始化数组。这句话是假的

因此,语句“ 2″和“ 3″是正确的。