学c鱼 发表于 2018-8-11 21:34:21

c语言基础求教!!

#include<stdio.h>
void main()
{
       int a, b;
       printf(" input two numbers\n");
       scanf("%d,%d", &a, &b );
       if( a==b )
       {
               printf("A = B\n");
       }
       else if( a > b )
       {
               printf("A > B\n");
       }
       else printf("A < B\n");
}
此程序,如果scanf函数中没有那个‘,’就可以正常的打印,但是现在多了这个‘,’无论我输入什么数字(我输出的时候有打逗号),打印出来的都是A>B,这是为什么呢??求教!!谢谢。

无符号整形 发表于 2018-8-11 21:53:12

https://fishc.com.cn/forum.php?mod=viewthread&tid=120181#pid3492968

学c鱼 发表于 2018-8-11 22:53:24

无符号整形 发表于 2018-8-11 21:53
https://fishc.com.cn/forum.php?mod=viewthread&tid=120181#pid3492968

好的好的,谢谢诶!

claws0n 发表于 2018-8-11 23:03:44

用 scanf() ,输入必须跟括号内部定义的一样,除了空格
如果用("%d,%d",...)那么在输入的时候,必须把逗号也给打上
但是注意,这逗号后没有空格,如果在输入的时候有空格,也是输入无效。
所以你要在 printf() 的时候说清楚

最推荐的方式是用空格 ("%d %d"),无论用户输入的时候有没有空格都可以

学c鱼 发表于 2018-8-13 21:06:03

claws0n 发表于 2018-8-11 23:03
用 scanf() ,输入必须跟括号内部定义的一样,除了空格
如果用("%d,%d",...)那么在输入的时候,必须把逗 ...

好的好的,谢谢
页: [1]
查看完整版本: c语言基础求教!!