C语言中关于字符串输出的问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 17:00:28
main()
{
char s[10];
scanf("%10s",s);
printf("String=%s",s);
}
如输入abcdefg则输出的结果是什么?格式是什么样的?
为什么书上的结果是:String=abcdefg呢?它要求输出10个字符,但是只有7个字符,那字符串的前面不是应该加上空格吗?

每个字符串 后面最后以为是‘\0’ ,当输出到这里时 便不在输出,也就是说printf("String=%s",s); 按照实际字符串长度输出
当然也可以 按照 约定的格式输出如:
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。
如果字符串的长度超过说明的宽, 将按其实际长度输出。