C程序问题 高手啊 帮我解决一下啊

来源:百度知道 编辑:UC知道 时间:2024/05/31 18:08:55
是个填空题
4 下面程序运行后输出为s1= s2=
mian()
{ char str1[]="Stop";
printf("s1=%4s\n",str1);
printf("s2=%.4s\n",str1);
}
它的结果是s1=Stop! s2=Stop
我就不知道为什么撒 哪位高手能帮我解决一下啊 呵呵
稍微说详细一点啊 谢谢

没有问题啊,只是你的main()打成了mian()
你是不是想问
main()
{ char str1[]="Stop!";
printf("s1=%4s\n",str1);
printf("s2=%.4s\n",str1);
}
的输出结果是s1=stop!s2=stop

问题在于%4f表示如果输出的结果长度小于或等于4则输出4位长度,右边补空。%.4f,系统会自动看成4.4f,表示不论结果长度多长都强制输入的结果长度为4