C语言格式说明符问题

题目是这样的,要求获得下面的输出:
Palmer Chen
6 4
即打印两行字符,第一行为名字和姓氏.
第二行分别为名字和姓氏的字母个数.
并且要求和名字或者姓氏的结尾对齐.

据我所知,可以使用strlen ()函数来获得字符串元素个数.
如想实现和名字或者姓氏的结尾对齐需要通过strlen ()函数获得字符串元素的个数,之后用printf ()函数来打印,如此例中使用如下语句打印出第二行:
printf ("%6s %4s") ;
因为strlen ()函数返回一个变量,但是格式说明符中又不允许使用变量.
那么请问,该用何种方法完成本题?
话也许说得比较笨拙,希望大侠指教.
我希望会有一个我所不知道的简单的答案出现.
由于输入错误,看上去并没有对齐.其实我是想输入对齐的.

printf 中可以用 * 指定字符宽度

 char xing[10]="Chen";

 char ming[10]="Palmer";

 

 printf("%s %s\n",ming,xing);

 printf("%*s%d %*s%d",strlen(ming)-1," ",strlen(ming),strlen(xing)-1," ",strlen(xing));

第二个printf中 

strlen(ming)-1 指定输入空格的宽度为 名字长度-1

" "表示 %*s 输出的内容是空格

然后用%d输出 strlen(ming)

同理 strlen(xing)-1," ",strlen(xing) 也是一个意思

结尾是

参考printf的百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-15
用\t吧
main()
{
printf("Plmer\tChen\n");
printf("6\t5\n");
}
结果为
Plmer Chen
6 5

C语言格式说明符问题
c语言中的格式说明符,以%开头,后面接上字母,如%d表示整数,%f表示浮点数,%s表示字符串,%c表示字符等等!扩展:格式说明符详细说明 ① d格式:用来输出十进制整数。有以下几种用法:d:按整型数据十进制的实际长度输出。md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于...

C语言格式说明符问题
printf 中可以用 * 指定字符宽度 char xing[10]="Chen";char ming[10]="Palmer";printf("%s %s\\n",ming,xing);printf("%*s%d %*s%d",strlen(ming)-1," ",strlen(ming),strlen(xing)-1," ",strlen(xing));第二个printf中 strlen(ming)-1 指定输入空格的宽度为 名字长度-1 " "...

C语言 %u说明符问题
u是以无符号整数格式输出。你的错误在于&y,这&y表示是取地址。在scanf语句里面会用到的。printf语句不用这个的。所以你上面的应该是scanf("talsskkdj%u",&y");

c语言的-1输出的%u为什么是4294967295
C语言中的%u格式说明符用于无符号整数输出,但当遇到负数时,它会呈现出特殊的值。在32位或64位机器中,整数通常以4字节(32位)的补码形式存储,-1的补码表示为全1的二进制数,即2^32 - 1,转换为无符号数输出的结果是4294967295。这个现象源于计算机不区分整数的正负,而将其视为无符号数来处理。

printf()函数的格式说明是什么啊?
在C语言中,printf() 函数中的 %5.2f 是一个格式说明符,用于格式化浮点数的输出。这个格式说明符的具体含义如下::格式说明符的起始标志。5:字段宽度,表示输出的最小字符数,包括整数部分、小数点和小数部分。在这个例子中,它指定了输出的总宽度为5个字符。.:小数点用来分隔整数部分和小数部分。

c语言中说明符问题,用long long u=55,在用printf()函数输出时,分别用...
u=55;long long int 如果存储方式为:0x 37 00 00 00 00 00 00 00 同时你的编译器将对long int 取数为 long long int 的低4位。那么你的%ld输出可能是0 如楼上说所,也就是类型不匹配,当然同时取决你的编译器。我使用的gnu g++ 和gnu gcc 编译你的代码都没有问题。都能输出55 ...

C语言输出附加格式说明字符怎么用
C语言基本的输出格式说明符如下:d 十进制有符号整数 u 十进制无符号整数 f 浮点数 s 字符串 c 单个字符 p 指针的值 e 指数形式的浮点数 x, %X 无符号以十六进制表示的整数 0 无符号以八进制表示的整数 g 自动选择合适的表示法 说明:1、可以在"%"和字母之间插进数字表示最大场宽。 例如:...

C语言中%d表示什么意思?
在C语言中,%d是格式说明符,用于表示输出或输入整数类型的数据。详细解释如下:当我们使用printf或sprintf等函数进行输出时,或者在scanf或sscanf等函数进行输入时,格式说明符用于指定数据的类型。%d就是这些格式说明符之一,它专门用于整数数据的输入输出。例如,在printf函数中,如果我们想输出一个整数变量...

初学c语言,定义a为整型数值,使用%f格式说明符输出为什么是0而不是2....
格式要求就是这样,只能按照printf格式输出,不符合就会出现错误的输出,这个很难说为什么,如果你确实想知道为什么,可以去看printf 的原函数。如果你要输出2.00000,可以这样写 include<stdio.h> void main(){ int a = 2;printf("%f\\n",(float)a);} ...

c语言中%s是什么意思?
一、格式说明符的概念 在C语言中,当我们使用printf或scanf等函数进行输入输出时,常常会遇到格式说明符。格式说明符用于指定数据输入输出的格式。例如,%d表示十进制整数,%f表示浮点数等。二、%s的具体含义 s是其中的一个格式说明符,用于表示字符串。当我们使用printf函数输出字符串时,可以在格式字符串...

相似回答