又一个C语言的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 20:16:47
#include <stdio.h>
main()
{int i=1;
printf("##%*d\n",i,i);
i++;
printf("##%*d\n",i,i);
i++;
printf("##%*d\n",i,i);
}
c语言问题 求教强人~!
悬赏分:0 - 提问时间2007-6-13 23:27 问题为何被关闭
#include <stdio.h>
main()
{int i=1;
printf("##%*d\n",i,i);
i++;
printf("##%*d\n",i,i);
i++;
printf("##%*d\n",i,i);
}

输出结果是:
##1
## 2
## 3
请问这个输出语句中的%*d是什么意思? 输出结果出现的空格

“%*d” 是指跳过这个数据不打印!~

就是就是!`````````

在百分号"%d"之后,转换字符之前加一个"*"号时,scanf函数将下正常读入对应的数据,但不赋值.如:%*C将抵制一个输入的字符,%*d 将抵制一个输入的整数.
但是这种用法没多在作用,一般不用.

错了,在scanf函数中,有*(数据类型)是读入一个数,但不赋给任何变量,但在格式输出函数中,*d照常输出