有以下程序 main () { char s []= "Yes\n/No", *ps=s; puts (ps+4); * (ps+4)=0; puts (s); } 程序运行后的输出结果

admin2013-02-23  24

问题 有以下程序    main ()    {       char s []= "Yes\n/No", *ps=s;       puts (ps+4);       * (ps+4)=0;      puts (s);    }    程序运行后的输出结果是(选项D中的第一行是空行)

选项 A、n/No       Yes       /No
B、/No       Yes
C、n/No       Yes       /No
D、/No       Yes

答案2

解析 本题考核的知识点是puts()函数的应用。主函数中定义了一个字符数组s并赋初值,一个字符串指针变量ps并让它指向s。程序中p+4的地址为数组第5个元素的地址,而调用put(str_adr)函数时,将从str_adr这一地址开始,依次输出存储单元中的字符,遇到第一个“\0”时结束输出,并自动输出一个换行符。所以put(p++4)将输出n/No,put(s)将从s第一个元素开始输出到第3个元素结束(因为执行*(p4)c0语句后s中的第5个元素的值为0,而s中的第4个元素为“\”,puts将遇到“\0”,结束输出),即输出yes。所以,4个选项中选项B符合题意。
转载请注明原文地址:https://kaotiyun.com/show/NePp777K
0

最新回复(0)