c语言输入时 %*d 啥意思?

如题所述

%*d指跳过某个输入的内容 使下一个输入的内容复制给紧接着的变量
比如 下面程序 输入 1 2 3 则输出为 1 3 程序把2跳过了,直接把3复制给b
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
scanf("%d%*d%d",&a,&b);
printf("%d%d",a,b);
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-07
跳过一些数字不保存
如 scanf("%s%*d%s",a,b); 从键盘输入设备中 读取两个字符串,跳过第一个串和第二个串的数字部分
第2个回答  2012-01-07
%d是代表十进制数的意思,%*d 在C语言里没见过。
第3个回答  2012-01-07
%*d 中的*本身没什么意思,如果把* 用 1 2 3 4 5 。。。。替代就有意思了。 数据输出时,*的值代表了输出内容的长度。
例如:a = 34; printf("%5d,a); 则输出的值为: 34 (34前有三个空格,加上34五个空格)
如果*的值小于真实值的话,为了确保数据的正确,输出值与 printf("%d",a)一样。

*代表了一个集合中的任意一个。
第4个回答  2012-01-07
%d是 以10进制输出
%*d 我就不知道了