问题
单项选择题
有以下定义:
#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)符合题意。