有以下程序: #include int disp(char*str) { while(*str)putchar(*str++); putchar(’#’); return*str; } mai

admin2019-01-11  11

问题 有以下程序:
    #include
    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/eef0FFFM
0

随机试题
最新回复(0)