C#2140:在参数1中输入'scanf'错误;预期'const char * restrict'但发现'int'

时间:2013-03-30 02:39:52

标签: c scanf

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

#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很新,并且很享受它。帮助将不胜感激。

1 个答案:

答案 0 :(得分: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);