首页 > 试题广场 >

以下程序的运行结果是

[单选题]

以下程序的运行结果是()

#include <stdio.h>
int main(void) {
    printf("%s , %5.3s\n", "computer", "computer");
    return 0;
}

  • computer , puter
  • computer , com
  • computer , computer
  • computer , compu.ter
%m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
发表于 2016-12-21 08:52:24 回复(2)
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)
%ms:输出的字符串占m列,如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms输出的字符串占m列,如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
发表于 2019-05-27 21:30:22 回复(3)
%5.3s 输出占5列,但只取字符串中左端3个字符。这3个字符输出在5列的右侧,左补空格。
所以输出前三个字符"com",答案是B
发表于 2016-12-18 21:40:47 回复(3)
%m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
更加准确的运行结果应该是computer ,   com

发表于 2018-01-22 14:02:18 回复(1)
%m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。

如果是%ms,m<字符串长度,将打印全部。eg:printf("%5s\n","abedefjh"); 结果将是:abedefjh

发表于 2017-06-27 21:24:13 回复(0)
computer,--com
(-代表一个空格),这样输出才是正确的
发表于 2018-04-10 17:53:01 回复(2)
题目没有体现空格的输入啊
发表于 2019-02-16 20:23:30 回复(0)
答案为:B
%m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
发表于 2017-03-19 20:20:10 回复(0)
m.n似乎n是取字符几个值,而m是要顶几个空格(需要的列),如果m<n就不顶,如果m>n,就顶m-n个空格,
发表于 2021-10-11 10:02:47 回复(0)

%X,Ys的格式化输出,X是总长度,Y是从字符串中从左边取Y位,剩下的位数补空格


我们尝试以下代码

发表于 2020-05-28 16:21:47 回复(0)
%5.3
5输出占5列,不足5列用空格占位
3输出字符串的前三个字符
发表于 2019-04-01 14:21:28 回复(0)
%5.3s 输出占5列,但只取字符串中左端3个字符。这3个字符输出在5列的右侧,左补空格。 所以输出前三个字符"com",答案是B
发表于 2018-04-03 08:22:14 回复(0)
%m.ns 输出占m列,但只取字符串中左端n个字符。n个字符右对齐
发表于 2017-06-11 22:48:38 回复(1)
%s  正常输出 但是在输出字符串时遇到/0结束
%ms  输出m个数值,本身靠右输出,不足的左端补0
%-ms 输出m个数值,本身靠左输出,不足的右端补0
%m.ns  若n<m  输出n个数值,靠右  不足的左端补0  若n>m 则全部输出
%-m.ns 与上个输出相同  只不过是靠左输出 
发表于 2023-10-08 20:24:22 回复(0)
答案为:B %m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
发表于 2022-09-23 19:46:38 回复(0)
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号) %ms:输出的字符串占m列,如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。 %-ms:输出的字符串占m列,如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。如果串长小于m,则在m列范围内,字符串向左靠,右补空格。 %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 %-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
发表于 2022-03-29 20:26:32 回复(0)
%m.ns 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。

如果是%ms,m<字符串长度,将打印全部。eg:printf("%5s\n","abedefjh"); 结果将是:abedefjh
发表于 2020-04-23 11:10:57 回复(0)
%5.3s 输出占5列,取前三个,前面空格补齐 (左补空格) 如果是%ms,m&amp;lt;字符串长度,将打印全部。eg:printf(&amp;quot;%5s\n&amp;quot;,&amp;quot;abedefjh&amp;quot;); 结果将是:abedefjh
编辑于 2019-12-03 09:11:57 回复(0)
%m.ns 表示输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
发表于 2019-11-03 00:42:46 回复(0)
应该还有两个空格,不严谨
发表于 2019-05-30 11:25:44 回复(0)