有以下程序: #include main() { int i,*ptr; int array[4]={ 0,1}; for(ptr=array,i=0;i<3;i++,ptr++) { if(*ptr==0) putchar(’#’); else putc

admin2019-01-11  30

问题 有以下程序:
#include
main()
{
int i,*ptr;
int array[4]={ 0,1};
for(ptr=array,i=0;i<3;i++,ptr++)
{
if(*ptr==0)
putchar(’#’);
else
putchar(’M’+*ptr);
}
printf("\n");
}
程序运行后的输出结果是(    )。

选项 A、MO#
B、#F#
C、MMM
D、#N#

答案D

解析 for语句中把array数组首地址值赋给变量ptr,ptr++表示每次执行完循环体后,ptr指向下一数组元素,当指针指向值为0时,输出#,否则’M’再加上指针对应数组值进行输出。当*ptr=1时,’M’+1=’N’,结果输出为#N#,故答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/wixp777K
0

最新回复(0)