求助求助
printf("##%*d\n",i,i);这里面的*号是干嘛用的?
while(printf("*"))
这个返回值是1?
第一个问题,格式化字符串的一项功能。前面的两个#没什么意思,去掉后是这样子的。printf("%*d\n",i,i)
%d是输出int类型.d前可以添加一个整数,用于控制输出宽度,如:printf("%8d\n"i,i);
其中,控制宽度的证书也可以格式化,就是用* 代替,,然后在后面写上该参数,就是我们现在看到的样子printf("%*d\n",i,i)。
第二个问题,printf函数返回值是打印的字符个数。这句话中打印了一个*,所以返回值是1 本帖最后由 墨羽岚 于 2020-3-17 16:09 编辑
我也没搞懂这*号代表啥,如果是代表数字的话就是指定输出数据的长度#include<stdio.h>
int main()
{
int i=1;
printf("##%8d",i);
return 0;
}
;输出为## 1;
若是printf("##%*d",i)的话就是把i的存储地址输出#include<stdio.h>
int main()
{
int i=1;
printf("##%*d",i);
return 0;
}
;输出为##4198704
第二问没看懂在说啥。。。问题目把原题都放上来好些 printf中的%*d的意思是输出*个宽度的%d
页:
[1]