| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 433 人关注过本帖
标题:[求助]结构体 共用体 的一个简单程序运行错误,不知道错哪儿了……
取消只看楼主 加入收藏
hahahan
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-4-10
收藏
 问题点数:0 回复次数:1 
[求助]结构体 共用体 的一个简单程序运行错误,不知道错哪儿了……

// 谭书 c程序设计第二版
//p290 输入一个学生和老师的数据,并输出。
//vc运行错误
#include <stdio.h>

struct // 结构体
{
int num;
char name[10];
char sex;
char job;
union //共用体
{
int cla;
char position[10];
}category;
}person[2];


main() //主函数
{
int i;
for(i=0;i<2;i++) // 输入
{
scanf("%d%s%c%c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);
if(person[i].job=='s') //共用体 条件输入
scanf("%d",&person[i].category.cla);
else if(person[i].job=='t')
scanf("%s",person[i].category.position);
else printf("input ERROR!");
} //问题就出在这部分的for循环上
printf("\n NO. Name sex job class/position\n");
for(i=0;i<2;i++) //输出
{
if(person[i].job=='s')
printf("%-6d %-10s %-3c %-3c %-6d\n",person[i].num,person[i].name,person[i].
sex,person[i].job,person[i].category.cla);
else if(person[i].job=='t')
printf("%-6d %-10s %-3c %-3c %-6s\n",person[i].num,person[i].name,person[i].
sex,person[i].job,person[i].category.position);
else printf("output ERROR due to input ERROR!");
}
return 0;
}


按照书上输入
101 li f s 501 enter

结果却不一样,唉!
求达人指教!

搜索更多相关主题的帖子: 结构体 运行 
2007-09-13 12:05
hahahan
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-4-10
收藏
得分:0 
回复:(雨中飞燕)scanf(

高手!!!!!!!!!!!

可是为什么啊??
书上说 scanf("%d%s%c%c"); 在输入的时候可以以 1 yu f s 的形式输入吗?
改了一下多加了空格,其实输入时还是一模一样啊,为什么就好了呢?

请详细指教,或者把答案链接给偶,多谢!!!!


没事儿你就多到这儿转转
2007-09-13 14:11
快速回复:[求助]结构体 共用体 的一个简单程序运行错误,不知道错哪儿了……
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027822 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved