c语言中scanf("%d%*c", &n);是什么意思
[ 标签:c语言scanf ]  小罗 
 
2010-04-1509:06
急急急~!
问题补充:

这个我知道,问题是“%*c”,写出来,肯定有用~~!我在标准程序里面看到的~!

满意答案 好评率:100%

格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项

“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如:
scanf("%d %*d %d",&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。


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

 

跳过一个字符

举个例子

C/C++ code
#include "stdio.h"intmain(){ 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

    int main()
    {
        inta,n,b;
        charc;
       scanf("%d%*c",&n);
       while(n--)
       {
           scanf("%c%d%*c",&c,&a);
           b=(c<97?c-'A'+1:'a'-c-1);
           printf("%d\n",a+b);    
       }
        return0;
    }

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐