#include <stdio.h>
#include<stdlib.h>
int main()
{
char first[10], last[10], id[10];
int stdnum;
FILE *fptr;
fptr = fopen("C:\\c\\program.txt","w");
if(fptr == NULL)
{
printf("Error!");
exit(1);
}
else
{
//first name
printf("Enter name: ");
scanf("%s", first);
fprintf(fptr,"%s ",first);
//last name
printf("Enter last name: ");
scanf("%s ", last);
fprintf(fptr,"%s", last);
//id
printf("Enter id: ");
scanf("%s %d", id, &stdnum);
fprintf(fptr,"%s\n", id);
fprintf(fptr,"%d\n", stdnum);
fclose(fptr);
return 0;
}
}
我正在寫一個程序,詢問用戶名稱,姓氏和學號。學號碼格式是小寫字母,後跟8位數字。 當我運行這段代碼時,我可以輸入名字和姓氏。在我輸入姓並在cygwin中輸入後,控制檯給了我一個空白行,我必須至少輸入一個charcter或一個數字,以顯示「輸入學生ID」。帶字符和字符的字符串 - C
Enter name: bob
Enter last name: jones
1
Enter id: a00998877
然後將文件輸出是這樣的:
「鮑勃jones11」
我所要的輸出是這樣的:
「鮑勃·瓊斯a00998877」
我做錯了什麼?
嘗試在'scanf函數%s'後'刪除空格( 「%s」 時,最後一個);在姓氏讀的時候'。 –
你應該看看[適當的C格式](// prohackr112.tk/pcf)。 –