中易网

printf("%3s,%5.3s\n","Hello","Hello","Hello"); 的结果为什么是He

答案:5  悬赏:0  
解决时间 2021-02-18 03:37
printf("%3s,%5.3s\n","Hello","Hello","Hello"); 的结果为什么是Hello, Hel
最佳答案
回复:
%3s,3表示至少输出的字符数量,不足补空格,多则原样输出。
5>3,所以原样输出
%5.3s 输出占5列,但只取字符串中左端3个字符。这3个字符输出在5列的右侧,左补空格。
所以输出前三个字符"Hel"
延伸:
1.%e:不指定输出数据所占的宽度和数字部分的小数位数,有的C编译系统自动指定给出数字部分的小数位数为6位,指数部分占5位(如e+002),其中"e"占1位,指数符号占1位,指数占3位,总的指数部分占5位。数值按规范化指数形式输出。例如:printf("%e",123.456);输出如下:1.234560e+002(共13列,有的系统的规定有所不同);
2.%m.ne 输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格。
后两个都是s格式符,用来输出字符串。
%m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
全部回答
首先,你这个语句只输出两个字符串,建议改成printf("%3s,%5.3s\n","Hello","Hello");
其次,这个%5.3s表示输出占5列,但只取字符串中左端3个字符
你的结果应该是Hello,空格空格Hel回车
这应该是最基础的C的知识了吧,建议你好好看看书,书上写的很详细的
%3s,格式输出字符串,右对齐,超出3个长度的,就全部输出;
%5.3s, 输出字符串占5个位置,有对齐,左补空格,输出3个字符;
printf("%3s","hello");的意思是保证输出3位,当要输出的内容大于3位的时候,全部输出
printf("%5.3s","hello"); 输出5位,其中3位为输出的内容,其余空格
%ms 输出占m个字元 不够m个补空格到m个
%m.ns 输出占m个字符,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
第一个是输出一个3最少3个字符的输出符号. 但hello为5个字符 所以输出hello
第二个是输出左端3个字符 所以输出hel
第三个hello 没有输出符 所以没有输出
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手机照相机的像素跟数码相机的一样吗?
仓山区觅姐汤可以喝的麻辣烫(金环路福州店)在
我刚刚洗完纹身现在可以涂鲜芦荟吗
怎么样做不让别人影响到你的心情呀?
准提咒灵吗/准提咒灵吗
为啥人会势力?
天龙八部2为什么重楼套装的图片多种多样,光
I can't concentrate___my work when I
翻译:feeling trapped
莱芜到潍坊长途汽车经过保水区吗?到保水区可
帮 我起一个麻辣烫的店名
路边摊油炸小吃有哪些
扁桃腺炎,吃药就好,停药就复发怎么办?[+10
歌词开头的对话,最后一个问题,如果我和你妈
6岁的小男孩,在假期中应该学些什么特长?
推荐资讯
碳酸钙和氯化铁溶液如何反应
“无敌”这两个字怎么念?
新模范马路站2口这个地址在什么地方,我要处
大话西游2卖东西没点卡了 还能卖不
恒实电机电器咨询公司地址在什么地方,想过去
拔完右下颚智齿第三天,牙龈痛,耳朵眼痛,偏右
二手房安装水表立户要多少钱
钟欣桐的孩子以后上学被同学拿着照片笑话怎么
麻城市白果镇占集村村民委员会地址在哪,我要
养君子兰用的骨粉用什么做的它的做作用是什么
作文600字《公交车上的友善》
和一个女孩最近走的很近,又亲又抱,就像情侣
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?