问题 单项选择题

有以下定义:
#include <stdio.h>
char a[10],*b=a;
不能给数组a输入字符串的语句是( )。

A) gets(a)
B) gets(a10])
C) gets(&a[0);
D) gets(b);

答案

参考答案:B

解析: 函数gets()的调用形式为gets(str_adr);str_adr存放字符串的起始地址。可以是字符数组名、字符指针或字符数组元素的地址。gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。本题中定义一个长度为10的字符数组,和一个指针变量b,并且通过赋值让它指向数组a。选项A、选项B、选项C和选项D中只有选项B中gets函数的参数a[0]不能表示数组a的首地址,故选项B不正确。所以,4个选项中选项B符合题意。

单项选择题 A1/A2型题
单项选择题