为什么我不能使用两个scanf函数来输入字母

时间:2015-10-03 22:13:18

标签: c++ c

为什么我不能使用两个scanf函数输入字母?

例如:

int a;
int b;
printf("a");
scanf("%c", &a);
printf("b");
scanf("%c", &b);
a=a+b;
printf("%c", a);

有很多解决方案,但我想知道第二个scanf函数不起作用的原因是什么。

1 个答案:

答案 0 :(得分:0)

  1. 这是C而不是C++(尽管C ++带来了足够的C兼容性,使得使用符合条件的C ++编译器#include <stdio.h>)使代码有效。

  2. 说明符%c用于字符。您正在阅读和撰写int

  3. 因此,您应该使用%i

    int a;
    int b;
    printf("a");
    scanf("%i", &a);
    printf("b");
    scanf("%i", &b);
    a=a+b;
    printf("%i", a);
    

    输出

    a5
    b7
    12