
请问一下这个为什么输出是57啊 ,不太明白 ,scanf函数里面的字符串是什么意思 刚学不太懂 求解 ,非常感谢!
scanf()函数里的第一个%d是表示从输入读入一个整数,中间的%*c表示跳过输入的一个字符,然后后面第二个%d表示读入一个整数,所以输入45-12,第一个就把读入45赋值给变量a,然后跳过字符'-',再把输入的12读取赋值给变量b,所以最后打印他们的和是57。
参考资料:
C Primer Plus(第6版)中文版 -第4章 -4.4printf()和scanf() -4.4.6 printf()和scanf()的(*星号)修饰符 第96页。
#include <stdio.h>
int main(void){
int a,b,sum;
scanf("%d%*c%d",&a,&b);
sum=a+b;
printf("sum=%d",sum);
return 0;
}
