目录: 标题| 题干| 答案| 搜索| 相关
问题

设有char str[10],下列语句正确的是A.scanf("%s",&a


设有char str[10],下列语句正确的是A.scanf("%s",&str); B.printf("%c",str); C.printf("%s",str[0]); D.printf("%s",str);

  • Ascanf("%s",&str);
  • Bprintf("%c",str);
  • Cprintf("%s",str[0]);
  • Dprintf("%s",str);
参考答案
参考解析:

本题主要考查字符数组的引用。题目中定义了一个大小为10的字符数组str。下面分别分析每个选项。在选项A中,从scanf("%s",&str);语句的输入列表&str可以知道此语句不正确,因为str是数组名,本身就表示一个地址,再加一个取地址符&,使表示方法不正确。在选项B中,由于printf("%c",str);语句的输出格式表示输出单个字符,而输出列表中的str表示一个地址,而不是数值,表示方法不对。在选项C中,由于printf("%s",str[0]);语句的输出格式表示输出一个字符串,而输出列表中的str[0]表示一个字符,表示方法不对。在选项D中,由于printf("%s",str);语句的输出格式表示输出一个字符串,而输出列表中的str表示一个字符串的首地址,通过这个方式可以实现输出str所指向的字符串。

分类:其他