有以下程序 #include <stdio.h> int disp(char* str) { while (*str) putchar(*str++); putchar(’#’); return *str; } main()

admin2015-11-24  67

问题 有以下程序
#include   <stdio.h>
int disp(char*  str)
{
    while (*str) putchar(*str++);
    putchar(’#’);
    return *str;
}
main()
{
    printf("%d\n", disp("C##123"));
}
程序运行后的输出结果是

选项 A、C##123#0  
B、C##1230
C、C##0
D、C##123#\0

答案A

解析 disp()函数中,存在while循环,当指针指向地址单元存储的字符不等于空字符’\0’,输出此字符,否则退出循环,输出’#’。在主函数中调用disp()函数时,字符串"C##123"先全部输出,当指针指向字符串最后空字符时,退出循环,输出’#’,并且再将’\0’返回输出,由于disp()函数返回类型为int,所以返回’\0’的ASCII码0,因此,答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/AWkiFFFM
0

相关试题推荐
最新回复(0)