我正在創建一個程序,該程序應該創建用戶輸入的人員列表的結構;我遇到的唯一問題是讓用戶輸入數據出現在文本文件中。有人知道怎麼做嗎?下面是代碼:用戶輸入到文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct person{
char name[20];
int age;
struct person *next_ptr;
} PERSON;
int main (void){
struct person PERSON;
FILE *fp;
char ans, ch;
int ppl=0;
fp=fopen("person_struct", "w");
if(fp != NULL){
while(ppl<25){
printf("Would you like to add a person to the list? [y/n] ");
scanf("%c", &ans);
if(ans == 'y') {
printf("\nEnter a name:\n");
scanf("%s", PERSON.name);
fprintf(fp, "%s",PERSON.name);
printf("\nEnter age:\n");
scanf("%i", &PERSON.age);
fprintf(fp, " %i\n", PERSON.age);
}
else {
ppl=25;
}
ppl++;
}
fclose(fp);
}
printf("\n\n\n");
system("pause");
return 0;
}
...,爲什麼是否需要&符號?如果您要解釋這一點,請確保完全解釋它,以免人們感到困惑,並開始在'scanf(「%s」,PERSON.name);'中的PERSON.name之前添加&符號一個指針。一個不太多餘的方法是鏈接到[scanf手冊](http://pubs.opengroup.org/onlinepubs/007904975/functions/fscanf.html)並詢問「哪個類型對應於'%i '格式說明符?「。 – Sebivor 2013-03-19 02:59:58
仍然無法使用;當我添加符號時,該程序在進入年齡之後崩潰。 – user2184761 2013-03-19 03:00:13
@modifiablelvalue是的,你是正確的我應該加上這一點很重要這裏 – 2013-03-19 03:02:33