用VS2022测试了一下,其实就多了个逗号,scanf_s中%d,%d改为%d%d就可以了,修改如下:
#include<stdio.h>
int main()
{
int a, b, c;
scanf_s("%d%d", &a, &b);
c = a * b;
printf("c=%d\n", c);
return 0;
}
如有帮助,还请采纳!谢谢!
程序中输入格式%d,%d
,那么你输入的时候两个数之间必须用逗号隔开
如果你想输入的数用空格隔开,那么输入格式应该改为%d%d
scanf中%d与%d之间的逗号删除就可以啦
由于作者的scan_f()函数里的双引号内为 "%d,%d" 两个%d内有逗号(,), 因此在Windows界面内的输入应当是 “3,5” 而不是 “3 5”,前者可以得到准确的c=15 而后者只有a被赋值,而b的值为随机值,因此c的值也成了随机值
3和5中间用,隔开
如果你想输入的时候用空格隔开,输入的%d和%d之间的逗号去掉就行了
不然你就输入的时候也用逗号将两个数隔开
输入数字的时候用逗号隔开,或者修改代码将%d,%d改为%d%d
scanf_s() 函数中,双引号“ ”中的内容如果除了格式化字符串(就是指名你输入的数据的类型,如%d这样的)外还有别的字符,则键盘输入数据时必须将这些字符原样输入,否则接收的数据将有误。
scanf_s(“%d,%d”, &a, &b) 里面,因为双引号里面还有别的字符(也就是逗号) ,所以输入数据的时候也要把逗号带上(如:1, 2) 。
所以要么输入时带上逗号,要么把双引号中的逗号去掉。但去掉后,输入多个数据时,要记得用空格作为分隔符。
用下边的代码试试:
#include<stdio.h>
int main()
{
int a, b, c;
scanf_s("%d,%d", &a, &b);
c = a * b;
printf("c = %d \n", c);
int wait = 1;
scanf("%d", &wait);
return 0;
}
输出结果如下图: