求运行结果,各位大神。 #include<stdio.h> void main( ) {

求运行结果,各位大神。
#include<stdio.h>
void main( )
{
char s[ ]=“abcdef”;
s[3]=‘\0’;
printf("%s\n"5,s);
}

#include<stdio.h
void main()  { char s[ ]=“abcdef”; 
  s[3]=‘\0’;
  printf("%s\n",s);
}

运行结果是输出:abc

printf顺序输出字符数组中的字符,当遇到s[3]中存放的0时,认为字符串结束而停止输出返回,这时s数组中存放的数据为:'a','b','c','\0','e','f','\0'

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-03
无结果,程序出错!printf 看不懂你那个5想干嘛!如果是printf("%s\n",s);的话,程序结果是abc!因为s[3] = '\0'!'\0'作为空字符,字符串结束标志!s[3]='\0' 读取字符串3个字符之后结束
相似回答