#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
char str[10];
scanf("%s",str);
if(strcmp(str,"name")==0)
printf("520");
}
为什么输入name会打印520结果(不输入n),这个过程为什么忽略了n的输入?
输入name,与第一个scanf类型不匹配,第一个scanf读取失败,返回0,n保持不变
接着第二个scanf读取name,这个scanf读取成功,它的返回值是1
因为你输入的name是字符,因此会跳过第一个scanf,如果先输入数字,再输入字符就不会跳过了!
scanf()函数说明:https://baike.baidu.com/item/scanf/10773316