| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:求助一个c程序
只看楼主 加入收藏
fgxrdingchen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
求助一个c程序
# include<stdio.h>
# include<string.h>
struct student
{
char *name;
int number;
}stu[3]={"zhang",0,"li",0,"wang",0};
void main()
{
char temp[10];
int i,j;
for (i=0;i<10;i++)
{   
printf("Please input your choice:\n");
scanf("%s",temp);
for(j=0;j<3;j++)
{
if(strcmp(temp,stu[j].name)==0)
stu[j].number++;
   
}
}
printf("name      number\n");
for(j=0;j<3;j++)
   printf("%s      %d\n",stu[j].name,stu[j].number);
}
我把程序中的字符数组用字符指针代替,编译都没问题 一运行就死机,不知为什么 求高手回答。就是用char*temp;代替了char temp[10];
搜索更多相关主题的帖子: choice number include void 
2012-09-20 22:01
fgxrdingchen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-20
收藏
得分:0 
就是一个投票的问题,投十次,最后显示没个人得到的票数!
2012-09-20 22:08
fgxrdingchen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-20
收藏
得分:0 
求高人回答
2012-09-20 22:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
请教一下,你做这样的代替意义何在?

授人以渔,不授人以鱼。
2012-09-20 22:42
micholasmalo
Rank: 2
等 级:论坛游民
帖 子:40
专家分:62
注 册:2012-6-22
收藏
得分:0 
你狠粗心,其实就错在这里
stu[3]={{"wang",0},{"li",0},{"zhang",0}},你只是忘了加{}分组,下次仔细点!
2012-09-20 23:35
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:4 
你用char*temp;代替了char temp[10];时候你能确定你temp指针指向哪儿呢?它可是个野指针,并不是所有的内存都可以写东西的,它指向不能写的地方就错了撒

[ 本帖最后由 遗矢的老人 于 2012-9-20 23:38 编辑 ]
2012-09-20 23:37
chengyang123
Rank: 2
等 级:论坛游民
帖 子:11
专家分:40
注 册:2012-9-19
收藏
得分:4 
楼主,只要你只是做了这一步:char*temp;代替了char temp[10]; 其他没有修改程序的话,这个程序是能正常运行的。
2012-09-21 08:27
micholasmalo
Rank: 2
等 级:论坛游民
帖 子:40
专家分:62
注 册:2012-6-22
收藏
得分:4 
以下是引用micholasmalo在2012-9-20 23:35:41的发言:

你狠粗心,其实就错在这里
stu[3]={{"wang",0},{"li",0},{"zhang",0}},你只是忘了加{}分组,下次仔细点!
scanf("%s",temp);
地址符呢&。。。如果你的程序没这个就。。。。。
2012-09-21 22:27
逆天蚂蚁
Rank: 1
来 自:山西吕梁
等 级:新手上路
帖 子:22
专家分:4
注 册:2012-9-10
收藏
得分:0 
不用这个地址符&      scanf("%s",&temp);
2012-09-21 22:35
逆天蚂蚁
Rank: 1
来 自:山西吕梁
等 级:新手上路
帖 子:22
专家分:4
注 册:2012-9-10
收藏
得分:4 
不用这个地址符&      scanf("%s",&temp);    上面发错了,不好意思
2012-09-21 22:35
快速回复:求助一个c程序
数据加载中...
 
   



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

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