十七烷 发表于 2020-2-27 17:22:35

萌新想问一个问题

这段程序哪里出了错误
printf (“please input two numbers a,b ”,a=%d,b=%d);
Scanf(“%d,%d”,&a,&b);
麻烦各位大神了QAQ

SHRS23 发表于 2020-2-27 17:31:58

本帖最后由 SHRS23 于 2020-2-27 17:45 编辑

完整程序?
这两句都有问题
第一是printf用法完全错误
第二是scanf用来读入多个数据时一般不需要写成“%d,%d” ,“%d%d”即可;如果你输入的时候需要带逗号的格式,你这样没问题。

5楼详细解释了

一个账号 发表于 2020-2-27 17:37:20

printf (“please input two numbers a,b ”);
Scanf(“%d,%d”,&a,&b);

蒋博文 发表于 2020-2-27 17:38:36

第一个,改为printf (“please input two numbers %d,%d ”,a,b);
第二个没毛病

SHRS23 发表于 2020-2-27 17:38:57

本帖最后由 SHRS23 于 2020-2-27 17:41 编辑

printf 只输出字符串用法:
printf("需要输出的字符串");
printf 输出包含变量值的字符串用法:
int a = 10;
printf("需要输出的变量的值是 %d",a);
可以理解为%d在字符串中给变量值占个位置,实际输出时候把变量值按照%d即十进制整数的格式放在那个位置

多个变量输出同理:
int a = 10;
int b = 10;
int c = 10;
printf("需要输出的变量的值是 %d,%d,%d", a, b, c);


对于scanf:
scanf("%d%d%d",&a,&b,&c);
scanf("%d,%d,%d",&a,&b,&c);
(假设需要输入a=1 b=2 c=3)
第一行可以输入:1空格2空格3空格或者 1回车2回车3回车 可以正确读入
第二行只有输入:1,2,3回车   程序才能正确接收,区别于上条程序,需要你输入数值时候按照格式输入逗号
意思是你输入的格式必须完全按照格式化字符串"%d,%d,%d"的形式输入程序才能正确读入

蒋博文 发表于 2020-2-27 17:39:09

蒋博文 发表于 2020-2-27 17:38
第一个,改为printf (“please input two numbers %d,%d ”,a,b);
第二个没毛病

如果对你有帮助,请设置最佳答案{:10_277:}{:10_254:}

良弓无箭 发表于 2020-2-27 18:29:49

scanf不能大写。

大河之jian 发表于 2020-2-27 19:03:12

printf("please input two numbers:a=%d,b=%d",a,b);
scanf("%d%d",&a,&b);
页: [1]
查看完整版本: 萌新想问一个问题