问题
单项选择题
有以下定义:
#include <stdio.h>
char a[10],*b=a;
不能给数组a输入字符串的语句是
A.gets(a)
B.gets(a[0])
C.gets(&a[0]);
D.gets(b);
答案
参考答案:B
解析: 本题考核的知识点是函数gets()的应用。函数gets()的调用形式为 gets(str_adr);str_adr是存放字符串的起始地址。可以是字符数组名、字符指针或字符数组元素的地址。 gets函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。换行符读入后,不作为字符串的内容。本趣中定义一个长度为10的字符数组,和一个指针变量b,并且通过赋值让它指向数组 a;选项A。选项B。选项C和选项D中只有选项B中gets函数的参数a[0]不能表示数组a的首地址,故选项B不正确。所以,4个选项中选项B符合题意。