| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖
标题:初学者的一个c语言问题
只看楼主 加入收藏
newstar10
Rank: 2
等 级:论坛游民
帖 子:32
专家分:48
注 册:2010-4-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
初学者的一个c语言问题
这是程序里面截取的部分代码:
#include <iostream.h>
const int N=3;  
void input();
int num[N];        
char name[N][8];   
void main()           /* 主函数 */
{        
  input();   
   for (int i=1; i<=N; i++)
               cout<<num[i]<<'\t'<<name[i]<<endl;
}

void input()         /* 输入职工编号和姓名 */
{   int i;
    cout<<"请分别输入每组职工编号和姓名,";
    cout<<"编号为4位数字。\n";
    for (i=1; i<=N; i++)
    {    cout<<"请输入第"<<i<<"组职工编号:\n";
        cin>>num[i];
        cout<<"请输入姓名(汉字,中间无空格):\n";   
        cin>>name[i];      //保存姓名
    }
}
 
/* 测试用例:1006 王军     1003 李明      1002 张华   *******************************************/



这是代码的一部分,是想实现职工编号和姓名的输入。
我用了3个测试用例:1006 王军     1003 李明      1002 张华
可是运行后,结果会变为:768     王军    1003    李明   1002    张华
请问1006怎么变成了768,我不知道什么原因。我是初学者,望大家指导!
搜索更多相关主题的帖子: c语言 
2010-04-14 22:26
秀痘魔导士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:250
专家分:1150
注 册:2009-12-23
收藏
得分:0 
vs2005测试没有任何问题
2010-04-15 10:35
newstar10
Rank: 2
等 级:论坛游民
帖 子:32
专家分:48
注 册:2010-4-14
收藏
得分:0 
谢谢你的回答,不过我想知道是否有人帮我指出在VC6里为什么出现了错误。
2010-04-15 11:34
zhuyunshen
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:212
专家分:455
注 册:2009-11-22
收藏
得分:0 
aaaaaaaaaaaaa
2010-04-15 11:36
xiaobai303
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2010-3-30
收藏
得分:5 
数组是从0开始的,而不是1.
2010-04-15 14:10
ybjx1987
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:26
专家分:175
注 册:2008-11-26
收藏
得分:15 
数组的使用出错了,定义了a[10]的数组,下脚标是从0~9,而你定义了int num[N]; char name[N][8],却从1到N,从一 开始并没有什么问题,关键是结尾有问题,应当把数组扩大为int num[N+1]; char name[N+1][8]或者在后面调用数组时从0开始到N-1结束,再把“ cout<<"请输入第"<<i<<"组职工编号:\n";”改为
“cout<<"请输入第"<<i+1<<"组职工编号:\n";”就没问题了。
2010-04-15 16:53
newstar10
Rank: 2
等 级:论坛游民
帖 子:32
专家分:48
注 册:2010-4-14
收藏
得分:0 
回复 6楼 ybjx1987
问题解决了,谢谢ybjx1987的指导!
1楼说2005测试没问题,貌似高版本的编译器能自动处理?
2010-04-15 16:58
秀痘魔导士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:250
专家分:1150
注 册:2009-12-23
收藏
得分:0 
以下是引用newstar10在2010-4-15 16:58:53的发言:

问题解决了,谢谢ybjx1987的指导!
1楼说2005测试没问题,貌似高版本的编译器能自动处理?
不是这个问题,栈是连续的,只是覆盖了这个地址的值而已。
2010-04-15 17:21
wlsj
Rank: 2
等 级:论坛游民
帖 子:49
专家分:28
注 册:2009-5-18
收藏
得分:0 
菜鸟,学习中
2010-04-15 19:11
快速回复:初学者的一个c语言问题
数据加载中...
 
   



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

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