问题 单项选择题

有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是______。

A.gets(&s[0]);

B.scanf(“%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);

答案

参考答案:D

解析: 字符串的输入有两种方式:使用scanf()函数和使用get()函数。采用scanf()函数输入时,输入项为字符串的地址值,输入字符依次放入以这一地址为起点的存储单元中。选项C是正确的,输入字符从数组的第2个位置开始存放;选项D是错误的,s[1]是字符,不是地址值。gets()的调用形式为:gets(str_adr),其中str_adr为存放字符串的首地址。选项A中,&s[0]为数组的首地址,选项C中,s也为数组的首地址.因此选项A和C都是正确的。

选择题
单项选择题