-3
我一直在努力解決如何在數組中使用結構並且不知道如何在代碼中看到初始化數組的前三項。當我嘗試打印或掃描數組的值時,我也會遇到錯誤,因爲它說它們都是整數,即使我已將它們聲明爲字符串/字符。任何幫助將是偉大的,謝謝。構造和初始化數組
#include <stdlib.h>
#include <stdio.h>
#define MAXLEN 100
typedef struct{
char name; <<have now changed all to [MAXLEN+1]
char surname; <<
char UUN; <<
char department; <<
char gender;
int age;
} student_t;
int main(void){
student_t details[5];
int i, n;
details[0].name = "John"; <<should all the '=' be ',' instead?
details[0].surname = "Bishop"; <<do not understand how to initialize
details[0].UUN = "s1234";
details[0].department = "Inf";
details[0].gender = 'm';
details[0].age = 18;
details[1].name = "Lady";
details[1].surname = "Cook";
details[1].UUN = "s2345";
details[1].department = "Eng";
details[1].gender = 'f';
details[1].age = 21;
details[2].name = "James";
details[2].surname = "Jackson";
details[2].UUN = "s3456";
details[2].department = "Eng";
details[2].gender = 'm';
details[2].age = 17;
for(i = 3; i < 6; i++){
printf("Enter first name second name UUN department gender age: \n");
scanf(" %s %s %s %s %c %d", details[i].name, details[i].surname, details[i].UUN, details[i].department, details[i].gender, details[i].age);
}
for(n = 0; n < 6;n++){
printf("details: %s", details[n].name);
}
return EXIT_SUCCESS;
}
你的結構成員只是個別的'char'對象。你如何期望你的每個字符串適合一個'char'? – AnT
這裏有一個提示:char只能包含一個字符。你想持有字符串。你會怎麼做? – struthersneil
是的,但每次我把它聲明爲一個字符串錯誤出現在scanf中說它是char **並且期望一個字符串。如圖所示,因爲某種原因,這是阻止它的唯一方法 – string