Scanf 生成和运行时的C编程错误

Scanf 生成和运行时的C编程错误,scanf,building,Scanf,Building,我正在关注Bucky在youtube上的C编程教程。每次我使用scanf并输入输入时,都会弹出一个错误。我在视频教程中输入了完全相同的代码,但我的代码不起作用 代码如下: int main() { int age; printf("How old are you?\n"); scanf("%d, &age"); if (age>= 18){ printf("You may enter this website!"); } if(age<18){ printf("nothi

我正在关注Bucky在youtube上的C编程教程。每次我使用scanf并输入输入时,都会弹出一个错误。我在视频教程中输入了完全相同的代码,但我的代码不起作用

代码如下:

int main()
{
int age;

printf("How old are you?\n");
scanf("%d, &age");

if (age>= 18){
printf("You may enter this website!");
}
if(age<18){
printf("nothing to see here!");
}
return 0;
}
intmain()
{
智力年龄;
printf(“您几岁?\n”);
scanf(“%d,&age”);
如果(年龄>=18岁){
printf(“您可以进入本网站!”);
}

如果(年龄您在
scanf
中将报价放在了错误的位置:

scanf("%d, &age");
应该是:

scanf("%d", &age);
C语言在实现具有可变数量参数的函数方面受到限制(这是因为它可以从终端读取可变数量的变量),所以这就是为什么可能出现这种错误的原因

现代编译器会就不正确的
scanf
用法向您发出警告,例如GCC会发出警告:

1.c: In function ‘main’:
1.c:8:1: warning: format ‘%d’ expects a matching ‘int *’ argument [-Wformat=]
 scanf("%d, &age");
 ^
顺便说一句,你的例子是错误的

#include <stdio.h>
#包括

哇,你说得对,而且成功了!!我想我需要一些睡眠。非常感谢,我会投票给你,但它不让我。再次感谢。我确信代码是正确的。是吗?为什么?代码是错误的。