#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。我做错了什么?
发布于 2020-08-08 04:07:31
在第一个scanf中,你应该读取一个字符串而不是一个字符,这样就可以了。此外,在读取字符之前保留一个空格总是很好的,因此它会重置缓冲内存。
#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);
}https://stackoverflow.com/questions/63308377
复制相似问题