Neverturnback 发表于 2018-3-6 22:53:57

格式化输入中出现的错误。。。qwq完全不知道错在哪。

正确输出应该是1, 2,3的,但是实际输出却是1,一个奇怪的数,一个奇怪的数。(如图)我编写的程序有什么错误么?找了好久,不知道哪错了QWQ!

Charles未晞 发表于 2018-3-6 23:00:22

你逗号是不是不一样啊。。。
就不能:
scanf("%d %d %d\n", &a, &b, &c)

输入的格式要和scanf里的严格一致的

BngThea 发表于 2018-3-7 08:55:10

scanf引号中不要用逗号!

Zmynx_2017 发表于 2018-3-7 16:39:16

#include <stdio.h>

main()
{
        int a,b,c;
        printf ("input a,b,c\n");
        scanf ("%d,%d,%d",&a,&b,&c);
        printf ("%d,%d,%d\n",a,b,c);
}我试了试可以的,你的问题可能就是写代码的时候scanf里是英文输入法状态,而在运行程序后输入时使用的是中文输入法状态,scanf输入必须保证你输入的格式与写的格式一模一样,为了防止逗号问题,你可以使用空格代替。就是将scanf函数里的几个%d都使用空格隔开,就可以。

Neverturnback 发表于 2018-3-7 16:50:40

Zmynx_2017 发表于 2018-3-7 16:39
我试了试可以的,你的问题可能就是写代码的时候scanf里是英文输入法状态,而在运行程序后输入时使用的是中 ...

0-0 ,大佬我试过了,的确存在输入法不一样的问题,多谢大佬提醒,以后我会注意这类问题的。但是这次完全不输出东西了,我之前就是用的空格,因为输入数回车以后啥也没输出所以我才用的逗号。这是啥原因?

Neverturnback 发表于 2018-3-7 16:52:38

Neverturnback 发表于 2018-3-7 16:50
0-0 ,大佬我试过了,的确存在输入法不一样的问题,多谢大佬提醒,以后我会注意这类问题的。但是这次完全 ...

C:\Users\chenzhicong\Desktop图在这

Neverturnback 发表于 2018-3-7 16:54:30

Zmynx_2017 发表于 2018-3-7 16:39
我试了试可以的,你的问题可能就是写代码的时候scanf里是英文输入法状态,而在运行程序后输入时使用的是中 ...

input a, b, c
1,2,3
|(按完回车以后啥也没输出就一个光标一直跳)

这是什么原因啊?

Neverturnback 发表于 2018-3-7 23:16:58

Zmynx_2017 发表于 2018-3-7 16:39
我试了试可以的,你的问题可能就是写代码的时候scanf里是英文输入法状态,而在运行程序后输入时使用的是中 ...

大佬我终于知道哪出错了0-0 我在scanf(“%d,%d,%d\n”);里面多输了一个\n,还有就是你说的编程序和程序运行的逗号中英文不同的问题。谢谢大佬啦!
页: [1]
查看完整版本: 格式化输入中出现的错误。。。qwq完全不知道错在哪。