#include<stdio.h>
#include<malloc.h>
struct Student
{
int age;
float score;
char name;
};
int main(void)
{
int len;
int i;
struct Student *parr;
// int j;
printf("請輸入要寫的學生人數\n");
printf("len=");
scanf("%d",&len);
//用動態malloc來定義一個一維陣列
parr=(struct Student *)malloc(len*sizeof(struct Student));
//輸入
for(i=0;i<len;i++)
{
printf("請輸入第%d個學生的資訊\n",i+1);
printf("age=");
scanf("%d",&parr[i].age);
printf("score=");
scanf("%f",&parr[i].score);
printf("name=");
scanf("%s",parr[i].name);
}
//輸出
for(i=0;i<len;i++)
{
printf("第%d學生的資訊是:",i+1);
printf("age=%d\n",parr[i].age);
printf("score=%f\n",parr[i].score);
printf("name=%s\n",parr[i].name);
}
return 0;
}
為什么我能在鍵盤里對它進行輸入,但編譯無法輸出,只要輸入完一進行輸出devc+會卡死
uj5u.com熱心網友回復:
吧char name定義成char name[20]uj5u.com熱心網友回復:
char name;只能裝一個字符(沒法存字串,也就是多個字符),且是個字符變數(在讀取指標的地方會出現問題),按照樓上的方法改應該是對的uj5u.com熱心網友回復:
樓上的正解,寫代碼要仔細。你這題就出現在仔細不仔細上。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/52091.html
標籤:C語言
