有以下程序: #include <stdio.h> main( ) { chars[] ="Yes\n/No",*ps=s; puts(ps +4); * (pa +4) =0; puts(s); }程序运行后的输出结果是(

admin2009-01-15  29

问题 有以下程序:  #include <stdio.h>  main( )  {  chars[] ="Yes\n/No",*ps=s;      puts(ps +4); * (pa +4) =0;      puts(s);  }程序运行后的输出结果是(        )。

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

答案2

解析 用puts函数输出的字符串中可以包含转义字符,遇到转义字符,自动跳过去。例如本题中ps+4指的是’/’的地址,并不是’\n’的地址,所以puts(ps+4)输出的是/NO。C规定以字符’\0’,作为字符串结束标志,以便系统据此判断字符串是否结束。本题执行 *(Ps+4)=0之后,再执行puts(s),就相当于输出字符串Yes后遇到结束标志。
转载请注明原文地址:https://kaotiyun.com/show/sZHp777K
0

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