c语言中scanf(“%d%*c”, &n);的意思

  • Post author:
  • Post category:其他

c语言中scanf(“%d%*c”, &n);的意思。

2018年07月22日 17:08:00 韩小妹 阅读数:3274

scanf()中%*表示忽略掉一个输入项。上面的程序执行时,比如输入 1 2,m获得的值就是2。

\n和c起的作用:\n在scanf()中会被忽略掉,%*c表示忽略掉一个字符型的输入项。

最佳答案

格式字符串的一般形式为:

%[*][输入数据宽度][长度]类型

其中有方括号[]的项为任选项

“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。

如:

scanf(“%d %*d %d”,&a,&b);

当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。

%*c作用时读取输入流中数字后的一个字符,并丢弃,使得后面的输入函数不能读到那个字符

跳过一个字符

举个例子

#include “stdio.h”

int main(){

int a, b;

scanf(“%d%*c%d”, &a, &b);

printf(“%d %d\n”, a, b);

return 0;

}

你输入1n2,那么scanf把1读取赋给变量a,如果跳过一个char(这里是 ‘n’)接着读取2赋给变量b