這裏是我正在處理的代碼。它與一系列結構有關。這個程序目前工作正常。但是,如果我將結構員工中薪水變量的數據類型替換爲浮點數,則會出現邏輯錯誤。我無法在scanf時輸入工資值。即使我更改了格式說明符,問題仍然存在。任何人都可以在這裏發現錯誤
任何人都可以找到錯誤,它將如何解決?
#include<stdio.h>
#include<conio.h>
struct employee
{
int emp_no;
char emp_name[25];
int salary;
};
void main()
{
struct employee emp[2];
int i;
clrscr();
for(i=0;i<2;i++)
{
printf("enter details for employee #%d:\n",(i+1));
printf("code:");
scanf("%d",&emp[i].emp_no);
printf("name:");
scanf("%s",emp[i].emp_name);
printf("salary:");
scanf("%d",&emp[i].salary);
}
printf("\n");
for(i=0;i<2;i++)
{
printf("details of employee #%d are:\n", (i+1));
printf("code: %d\n", emp[i].emp_no);
printf("name: %s\n", emp[i].emp_name);
printf("salary: %d\n", emp[i].salary);
}
getch();
}
浮劑是'%F' –
什麼錯誤出現? –
當您將'salary'更改爲float時,是否將'scanf'和'printf'中的格式更改爲'%f'(而不是'%d')? – DarkDust