不挂科搜题免费

问题:

下面程序段的运行结果是char str[]='ABC',*p=strprintf('%d\n',*(

答案:

B在本题中,程序段首先定义了一个字符型数组str,并将其初始化为“ABC”,然后定义一个字符型的指针变量p,使其指向数组str的首地址。然后程序运行输出语句,从输出语句的输出格式可以看出,要求输出的是一个十进制数值,而输出列表中的*(p+3)表示输出的是数组str中的第四个元素,从数组的初始化我们可以看出,其中只有三个字符元素,而输出语句则要求输出第四个元素。 这里需要我们了解字符串在字符数组中的存储方式,字符串在字符数组中存储后,系统会自动给其添加一个结束标志’\\0’,即0值。因此,在用字符数组存储字符串时,字符数组申请的空间应该是字符串的字符个数加1。 根据上面的分析,我们可以知道输出的第四个元素是’\\0’字符,它对应的十进制值是0,因此本题的正确答案是B。