1
我正在編寫一個程序,基本上只需要一堆用戶輸入並以支票的形式輸出它。我的問題是,我輸入了2個句子,而第二個句子很好,它完全跳過了第一個!和用戶姓氏正在工作,但名字只是輸出「z」這是最奇怪的事情,我的老師的哲學是自己弄清楚。所以任何人都可以幫助我?這裏是我的代碼...C程序,設計檢查
#include<stdio.h>
#include<string.h>
int main()
{
char date[8];
int checkNum;
char payeeFirst[10];
char payeeLast[10];
double amount;
char memo[50];
char wordAmount[100];
printf("Please enter the date: ");
scanf("%s", &date);
printf("Please enter the check number: ");
scanf("%d", &checkNum);
printf("Please enter the payee First name: ");
scanf("%s", &payeeFirst);
printf("Please enter payee last name: ");
scanf("%s", &payeeLast);
printf("Please enter amount: ");
scanf("%d", &amount);
printf("Please enter amount in words: ");
fgets (wordAmount, sizeof(wordAmount)-1, stdin);
printf("Please enter memo: ");
fgets (memo, sizeof(memo)-1, stdin);
printf(" \n");
printf("Date: %s .\n", date);
printf("Check Number: %d .\n", checkNum);
printf("Payee: [%s] [%s] .\n", payeeFirst, payeeLast);
printf("Amount: %d .\n", amount);
printf(" Check %d \n", checkNum);
printf(" Date: %s \n", date);
printf("Pay to the\n");
printf("Order of %s %s $%d \n", payeeFirst, payeeLast, amount);
printf("%s", wordAmount);
printf(" \n");
printf(" \n");
printf("Memo: %s \n", memo);
return 0;
}
我不認爲你需要&符號時讀取字符串到char []數組。應該只是scanf(「%s」,日期);等編輯:並不需要我的意思是我認爲它破壞你的代碼。 – Akron
如果你使用的是gcc add'-Wall'標誌。它會警告你,當你使用'scanf'不正確。像這裏:http://ideone.com/oD5F4 –
我也會確保你的字符串是空的終止。也許初始化數組的內容爲0; – Akron