我爱橙 发表于 2022-4-9 22:58:49

EX4.15 scanf("%d%*c%d",&a,&b);

本帖最后由 我爱橙 于 2022-4-28 12:23 编辑

给出程序的运行结果,程序运行时从键盘输入:45-12<回车>

#include <stdio.h>

int main()

{

int a,b,sum;
scanf("%d%*c%d",&a,&b);
sum=a+b;
printf("sum=%d",sum);
return 0;
}


A.33


B.输出报错


C.57


D.输出一个随机数


运行结果是C
但不理解语句
scanf("%d%*c%d",&a,&b);

zzxhh628 发表于 2022-4-9 23:08:18

本帖最后由 zzxhh628 于 2022-4-9 23:14 编辑

scanf函数第一个参数格式如下
%[星号][输入数据宽度][长度]类型
其中有方括号[]的项为非必选项
“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
%*c对应输入的'-'字符,应该是被跳过了,没有给任何变量赋值。

ba21 发表于 2022-4-9 23:49:38

本帖最后由 ba21 于 2022-4-9 23:54 编辑

%*c 忽略1个字符。
a+b
页: [1]
查看完整版本: EX4.15 scanf("%d%*c%d",&a,&b);