#include <stdio.h>
int main()
{
char name[10];
int birth_year;
printf("Enter your name : ");
scanf("%c",name);
printf("Enter your birth year : ");
scanf("%i",&birth_year);
int age = 2020 - birth_year;
printf("Your age is %i",age);
}
我试图将birth_year的值作为输入,但由于某种原因,它自动将其分配给0。我做错了什么?
在第一次扫描中,应该读取字符串而不是字符,这样就可以了。此外,在读取字符之前有一个空白总是很好的,所以它会重置缓冲区内存。
#include <stdio.h>
int main()
{
char name[10];
int birth_year;
printf("Enter your name : ");
scanf(" %s",name);
printf("Enter your birth year : ");
scanf(" %d",&birth_year);
int age = 2020 - birth_year;
printf("Your age is %i",age);
}