永发信息网

C语言函数sprintf

答案:2  悬赏:60  手机版
解决时间 2021-03-18 07:18
  • 提问者网友:嘚啵嘚啵
  • 2021-03-17 17:10
sprintf(str,”….”,a1,a2);的函数格式是这样的,我想问的是在中间省略号部分填写的数据格式,是跟后面的参数a1,a2的数据格式是一样的吗,比如a1,是整形,a2是字符串,那么中间省略号填写的就是%d%s,这样理解对不对。
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-03-17 17:41
sprintf函数的原型是这样的:
int sprintf( char *buffer, const char *format, [ argument] … );
它是将格式化的字符串打印到字符串buffer中。
如printf函数是将字符串打印到屏幕,这个是到字符串而已。
sprintf 只是比printf函数多了一个参数:
int n = 1;
char s[20] = "Hello!";
char buf[20] = {'\0'};
printf("n = %d, s = %s", n, s); //打印到屏幕
sprintf(buf, "n = %d, s = %s", n, s); //打印到buf
全部回答
  • 1楼网友:洎扰庸人
  • 2021-03-17 17:48
%3d :就是输出时右对齐,如果数字长度小于3,则左边用空格填充
%6d :就是输出时右对齐,如果数字长度小于6,则左边用空格填充

int a=20984,b=48090; 
sprintf(str,"%3d%6d",a,b); 
由于a的长度为5,所以不用空格了,而b的长度为5,但设定的对齐长度为6,所以左为用空格填充一位
故输出:20984 48090
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯