-2

我正在为 Windows 使用 Pelles 编译器。我有两个错误

#2168: Operands of '&' have incompatible types 'char *' and 'char *'.
#2140: Type error in argument 1 to 'scanf'; expected 'const char * restrict' but found 'int'.

我的代码看起来像

    #include <stdio.h>
    static char herp[20];

    int main()
    {
         int a;
         a = 2;
         printf("Some random number %d\n" ,a);
         scanf("Input: %c" &herp);
         getchar();
         return 0;
    }

scanf 似乎有很多问题,所以我不知道为什么。我对 C 很陌生,到目前为止我很喜欢它。帮助将不胜感激。

4

1 回答 1

1
scanf("Input: %c" &herp);

缺少一个逗号:

scanf("Input: %c", &herp);

由于herp是一个字符数组,您应该指定要写入的字符,例如

scanf("Input: %c", &herp[0]); // to write to the first character.

如果你输入的是一个字符串,你会离开&

scanf("Input: %s", herp);
于 2013-03-30T02:42:29.500 回答