C语言基本问题,%5d 是什么意思?

Python017

C语言基本问题,%5d 是什么意思?,第1张

C语言中,“%5d”是的意思是以整形来格式化参数,并且当整数字符数少于5个情况下,多格式化一定数量空格来填充,以使得空格和整数所用字符数的总和达到至少5个。

C语言中,“%5d”一般用于printf函数和sprintf函数。它们格式化字符串时,可以指定串的格式,在格式串内部使用一些以“%”开头的格式说明符来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。

格式化数字字符串sprintf 最常见的应用之一莫过于把整数打印到字符串中。同时,可以选择宽度,不足的左边补空格:例如“sprintf(s, "%4d%4d", 123, 4567)” 会产生字符串" 1234567"。

扩展资料:

C语言中,常见转换字符:

1、%%:印出百分比符号,不转换。

2、%c:字符输出到缓冲区,不转换。

3、%d:整数转成十进位。

4、%f:倍精确度数字转成浮点数。

5、%o:整数转成八进位。

6、%s:字符串输出到缓冲区,不转换。

7、%x:整数转成小写十六进位。

8、%X:整数转成大写十六进位。

参考资料来源:百度百科-sprintf

rand()函数会产生范围为0至32767的随机数,% 让它与5求余,变成0至4的随机数,不过每次启动程序产生的随机数都相等,在用srand(unsigned int)输入种子数后产生的才不一样,一般都用的 srand((unsigned int)time(NULL)) 产生种子。(记得要包含 time.h 库文件)

扩展资料:

当提供的种子相同时,随机数序列也是相同的。而且当种子为1时,与不使用srand()函数时一样的,也就是说rand()函数默认情况下初始化种子值为1;

在stdlib.h 中这两个函数的原型是:

int rand()

void srand (unsigned int)

srand(time(0))i=rand()

或者srand(time(NULL))

这样就是一个伪随机数。

rand()产生伪随机数,srand函数提供种子,种子不同产生的随机数序列也不同,所以通常先调用srand函数 time()返回的是系统的时间(从1970.1.1午夜算起),单位:秒,种子不同当然产生的随机数相同几率就很小了。

参考链接:

rand()-百度百科