c语言 会c的来哈5
main(){ char s[]"Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序运行后的输出结果是说的越详细越好
参考答案:char s[]"Yes\n/No"应为:
char s[]="Yes\n/No"
结果
/No
Yes
解释:
main()
{ char s[]="Yes\n/No",*ps=s; /*ps指向字符Y*/
puts(ps+4); /*puts:输出字符串的函数
ps+4指向字符/,puts输出从ps+4开始到字符数组s结束(\0)*/
*(ps+4)=0; /*ps+4指向的字符变为0*/
puts(s);
}
按理s应变为Yes\n0No,则最后应输出
Yes
0No
但实际结果为
Yes
推断s变为Yes\0No,puts遇\0结束输出。