c - 为什么必须先输入字符?
问题描述
我正在教 C 语言基础程序,我注意到了这一点。
#include<stdio.h>
#include<conio.h>
void main(){
int a;
float b;
char c;
printf("Enter a number");
scanf("%d",&a);
printf("\nEnter a Float");
scanf("%f",&b);
printf("\nEnter a character");
scanf("%c",&c);
printf("Number is %d",a);
printf("Float Number is %f",b);
printf("Character is %c",c);
}
运行这个简单的代码时,我可以输入 int 和 float 的值,但是程序只是运行而不让我插入字符的值。现在我知道解决方案是将字符 scanf 函数放在首位,但我不明白为什么会这样?
解决方案
推荐阅读
- android - /storage/emulated/0/android.system.ErrnoException:打开失败:EACCES(权限被拒绝)
- sql - 我的 SQL 查询出现 ORA-00932 和 ORA-22835 错误
- python-3.x - Python IMAP4 追加失败
- java - JavaFX:可以调整 TreeView 的“选择器栏”以适应内容吗?
- c# - 删除包含文件的目录
- android - BindProcessToNetwork 在特定设备上不起作用
- php - MySQL:使用同一表中列的 MAX 值插入新记录
- c# - 通用 Func 委托中的命名参数
- android - Android Studio 重启后模拟器停止工作
- java - 如何使用 Selenium、Java 从 div 元素中获取文本?