c语言输出格式%*s

c语言输出格式:%*s
这个还是第一次遇到,不知道这是什么意思?谢谢。

c语言输出格式%*s,标识形参占位。

*在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。例如:printf("%*s",10,s);意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s)。


扩展资料:

C语言输出格式大全:

格式占位符(%)可以以下字母配合使用用来表示某些特定的输入输出。

%a,%A 读入一个浮点值(仅C99有效)

%c 读入一个字符

%d 读入十进制整数

%i 读入十进制,八进制,十六进制整数

%o 读入八进制整数

%x,%X 读入十六进制整数

%s 读入一个字符串,遇空格、制表符或换行符结束。

%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。

%p 读入一个指针

%u 读入一个无符号十进制整数

%n 至此已读入值的等价字符数

%[] 扫描字符集合

%% 读%符号

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-23
1.d格式符,用来输出十进制整数.

⑴%d,按整型数据的实际长度输出.

⑵%md,m为指定的输出字段的宽度,数据位数小于m,左边补空格,若大于m,按实际长度输出

⑶%ld,输出长整型数据(long)

2.o格式符,以八进制输出整数(不带符号,他将符号位也作为八进制数的一部分了)
⑴%o,参考%d的解释.

⑵%lo,参考%ld的解释.

⑶%mo,参考%md的解释.

3.x,X格式符,以十六进制输出整数
也是3种参考%d的解释.
4.u格式符,用来将unsigned型数据,既无符号数,以十进制形式输出

5.c格式符,输出一个字符.

6.s格式符,输出一个字符串.
⑴%s,如printf("%s","CHINA")

⑵%ms,输出的字符串占m列,字符串长度小于m,左边补空格,如果超出则全部输出.

⑶%-ms,串小于m,则在m列范围内字符串左靠,右补空格.

⑷%m.ns,输出占m列,但只取字符串左端n个字符.这n个字符输出在m列的右边,然后左边补空格.

⑸%-m.ns,和上面的放下,就是n个字符输出在m列的左侧,右边补空格.n>m,那么m自动取n的值,既保证n个字符正常输出.

7.f格式符,用来输出实数,以小数形式输出.

⑴%f,全部输出,而且输出6位小数.

⑵%m.nf,输出数据共占m列,n位小数,如果数据长度小于m那么左边补空格

⑶%-m.nf,和上面的m.nf相反,为左靠齐,右补空格.

8.e,E格式符,以指数形式输出实数

⑴%e,不指定输出数据所占的宽度和数字部分的小数位数.

⑵%m.ne和%-m.ne,这里n指小数部分的位数

9.g,G格式符,用来输出实数,它根据数值大小,自动选择f格式还是e格式,(选占宽最少的一种),且不输出无意义的0.这种格式用的不多.
第2个回答  推荐于2017-09-05
举个例子,比较好说明一下
printf("%*s",5,"123");
执行一下,这条语句,输出
##123

(#代表一个空格)
类似于%5d 这样的状况
这里*被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量本回答被提问者采纳
第3个回答  2015-07-27
举个例子,比较好说明一下
printf("%*s",5,"123");
执行一下,这条语句,输出
##123

(#代表一个空格)
类似于%5d 这样的状况
这里*被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量
第4个回答  2011-08-22
输出fioat型,就是单精度的,带有小数点的

c语言输出格式为%* s,是什么意思?
c语言输出格式%*s,标识形参占位。在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。例如:printf("%*s",10,s);意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s)。

c语言%.*s是什么
在c语言中,a*=b 相当于 a=a*b。那么s*=s 就是s=s*s 也就是 s=s^2。用来指定宽度,对应一个整数。.(点)与后面的数合起来 是指定必须输出这个宽度,如果所输出的字符串长度大于这个数,则按此宽度输出,如果小于,则输出实际长度。

C语言中%*s中*是什么作用?
在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。例如:printf("%*s",10,s);\/意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s);\/

c语言中 scanf("%*s"); 的具体意思,
scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数返回成功读...

C语言,scanf("%*s")
表示你输入错了(不是数字)时把错误符号从输入缓冲区里吸收掉,再由后面的两行告诉你重新输入……

c语言 %.*s 什么意思 如printf("%.*s\\n",6,"aaaaaa");
表示输出或者读入一个字条串,s是string的简写。像你这里就是输入(打印)一个字条串,这个字条串是 aaaaaa 因为它带了双引号,所以打印出来的效果就是 aaaaaa

小女子跪求高手指点C语言 关于scanf("%*s") 的作用
scanf("%*s") -- 从键盘输入缓冲区读入一个字符串,但不存放。等于“按任意键继续”,并清空输入缓冲区,准备下次输入。(status= scanf("%d",&code))!=1 || (code<1||code>5)如果你输入了字母或符号,或数字不是1到5 之间的数,就要你重新输入,否则就通过了 menu() 这一关。

C语言中 1.“%*s”是什么意思?2.while里code<||code>5包括1和5么?_百...
s可以丢弃输入的字符串 既不包含1,也不包含5

c语言 %.*s 什么意思
用个语句给你看看 pintf("%.*s",m,''),这个语句的功能就是打印m个空格,记住''之间没有空格,不要问我这个事为什么,这个一个特殊的用法罢了

c语言%.*s是什么
以printf ("%.*s\\n",3,"asdfghj");为例,它就是输出指定的字符串的前3个字符。输出为“asd”

相似回答