不知道哪里出错了,求解答

img

img


求问哪里出错了,为什么输出的结果是这个样子,用的编译器是VS2022

用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;
}

img

如有帮助,还请采纳!谢谢!

程序中输入格式%d,%d,那么你输入的时候两个数之间必须用逗号隔开
如果你想输入的数用空格隔开,那么输入格式应该改为%d%d

scanf中%d与%d之间的逗号删除就可以啦

由于作者的scan_f()函数里的双引号内为 "%d,%d" 两个%d内有逗号(,), 因此在Windows界面内的输入应当是 “3,5” 而不是 “3 5”,前者可以得到准确的c=15 而后者只有a被赋值,而b的值为随机值,因此c的值也成了随机值

3和5中间用,隔开

img


scanf的两个%d中间的逗号去掉就行了

如果你想输入的时候用空格隔开,输入的%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;
}

输出结果如下图:

img