[英]Dynamically inputting values in a structure and printing these values
我為結構螺柱編寫了此代碼,該代碼將輸入要存儲其記錄的學生人數,然后將其打印出來。 我不確定我到底哪里出錯了。
#include<stdio.h>
struct stud{
int id;
char name[50];
float points;
}s[1000];
int main(){
int i,n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&s[i].id);
scanf("%c",s[i].name);
scanf("%f",&s[i].points);
}
for(i=0;i<n;i++){
printf("ID: %d\n",s[i].id);
printf("First Name: %c\n",s[i].name);
printf("Points: %f\n",s[i].points);
}
return 0;
}
改變
scanf("%c",s[i].name);
至少
scanf("%49s",s[i].name);
printf()
調用也是如此。 %c
用於單個char
,對於字符串,您需要%s
。 另外,不要忘記檢查scanf()
的返回值是否成功。
話雖如此,最好使用fgets()
進行用戶輸入。 就像是
if( fgets (s[i].name, sizeof(s[i].name), stdin) != NULL ) { /*......*/ }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.