VSCode中编写C语言代码使用scanf报错声明不兼容如何解决
错误原因
- 调用标准库
scanf函数时,不应该在函数名前加int关键字,你的写法会被编译器识别为尝试声明一个名为scanf的自定义函数,和标准库中已经声明的scanf函数冲突,因此抛出声明不兼容、需要类型说明符的报错。 - 传递
scanf参数时,已经声明过的ab变量不需要重复加int类型修饰,且scanf读取基础类型变量需要传入变量的内存地址,要在变量前加取地址符&。
修正后的代码
#include <stdio.h> int main() { int ab; printf("Whats 5+5:"); scanf("%d", &ab); printf("\nbla,bla,blabla,bla,blabla,bla,bla"); if (ab == 10) { printf("Correct anwser!!!"); } else { printf("Incorrect anwser!!!"); } return 0; }
修改说明
仅需将原代码中int scanf("%d", int ab);一行替换为scanf("%d", &ab);即可正常运行。
内容的提问来源于stack exchange,提问作者filip noble
相关产品推荐
相关产品推荐

