首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用structure,我需要存储2个学生信息并显示他们的结果

使用structure,我需要存储2个学生信息并显示他们的结果
EN

Stack Overflow用户
提问于 2013-11-14 04:50:14
回答 3查看 86关注 0票数 0
代码语言:javascript
复制
#include<stdio.h>
struct student{
char name[80];
char subject
char country;

};

int main(){
struct student s[10];
int i;
printf("Enter the information of the students:\n");
for(i=0;i<4;++i)
{
printf("\nEnter name of the student: ");
scanf("%s",&s[i].name);
printf("\nEnter the subject of the student: ");
scanf("%s",&s[i].subject);
printf("\nEnter name of the student country: ");
scanf("%s",&s[i].country);
}
printf("\n showing the input of student information: \n");
for(i=0;i<10;++i)
{
printf("\nName: \n");
puts(s[i].name);
printf("\nMajor: \n",s[i].subject);
printf("\nCountry: \n",s[i].country);
}
return 0;
}

*当我试图显示结果时,它没有显示主题,country.Can u告诉我我的编码中有什么问题?

EN

回答 3

Stack Overflow用户

发布于 2013-11-14 05:01:18

它不显示主题和国家,还是只显示第一个字母?

我不熟悉C语言,但我建议你改变

代码语言:javascript
复制
char variableName 

代码语言:javascript
复制
char variableName[size]

你在名字上有,但在国家和主题上没有。我不确定这是否是你的问题,但可能是,我相信仅仅是char variableName就只能存储用户输入的一个字符。

票数 1
EN

Stack Overflow用户

发布于 2013-11-14 04:53:34

您需要提供一个转换模式,对于char,它是%c

代码语言:javascript
复制
printf("\nMajor: %c\n",s[i].subject);
printf("\nCountry: %c\n",s[i].country);

也是

代码语言:javascript
复制
scanf("%s",&s[i].name); 

是不正确的,它应该是

代码语言:javascript
复制
scanf("%s", s[i].name); // s[i].name is already an array

为了读取字符,您还需要传递正确的转换模式

代码语言:javascript
复制
scanf("%c", &s[i].subject);
scanf("%c", &s[i].country);
票数 0
EN

Stack Overflow用户

发布于 2013-11-14 05:04:05

你的struct应该是这样的:

代码语言:javascript
复制
struct student{
char name[80];
char subject[80];
char country[80];
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19964041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档