【发布时间】:2021-06-14 08:59:07
【问题描述】:
我在我的 c 程序中遇到了一个奇怪的问题。从用户那里获得浮点输入(工资)后,程序结束并跳过它要求输入整数(empcode)的行。谁能告诉我为什么会这样,我该怎么办?
#include <stdio.h>
#include <string.h>
struct employee{
int empcode;
float salary;
char name[30];
};
int main(){
struct employee e1, e2, e3;
printf("\nEnter name for e1: ");
gets(e1.name);
printf("\nEnter salary for e1: ");
scanf("%f", e1.salary);
printf("\nEnter employee code for e1: ");
scanf("%d", e1.empcode);
return 0;
}
【问题讨论】:
-
你怎么知道
scanf不起作用?您根本不检查返回值。
标签: c scanf pass-by-reference