| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1663 人关注过本帖
标题:编译能通过,运行后却得不到想要的答案..
取消只看楼主 加入收藏
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
 问题点数:0 回复次数:10 
编译能通过,运行后却得不到想要的答案..
#include<stdio.h>
void main()
{
int a[9];
int i,j,k;
for(i=0;i<9;i++) scanf("%d",a[i]);
for(i=0;i<8;i++)
for(j=i+1;j<9;j++)
{ if(a[i]==a[j]) {k=0;break;}
else k=1;
}
printf("%d",k);
}


我的意思是想输进9个一位数,判断这9个数是不是都不相同,相同就输出0,不同就输出1
可运行时却得不到正确的答案呢~~
最后输出有一个什么NULL POINTER ASSIGMENT~~~
谁知道是哪里出问题了,跟我说一声好吗~~谢谢您了~~
搜索更多相关主题的帖子: 编译 得不到 运行 
2006-06-13 10:57
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 

都给气死了,,作业就是这样给卡了N久了,
请问可以解释下为什么编译可以通过吗~~~

2006-06-13 11:02
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
还有就是改了之后运行还不是正确的呢~~请看下代码有没有出现逻辑错误呢~~谢谢~~~
2006-06-13 11:04
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 

我分别输如1,2,2,3,4,5,6,7,8
结果为1,我觉得BREAK语句那出问题了,麻烦看出来给改下好吗~~

2006-06-13 11:08
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
能加您的QQ聊下不~~~
2006-06-13 11:09
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
我把代码改成这样就行了~~~~

#include<stdio.h>
void main()
{
int a[9];
int i,j,k;
for(i=0;i<9;i++) scanf("%d",&a[i]);
for(i=0;i<8;i++)
for(j=i+1;j<9;j++)
{ if(a[i]==a[j]) {k=0;goto loop;} /*把break换成goto*/
else k=1;
}
loop: printf("%d",k);
}

但是这样代码质量又低了一点呢~

2006-06-13 11:25
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
我想问下就是当两个FOR嵌套使用时,在里面那个FOR语句里用BREAK,那这个BREAK的作用范围是哪里到哪里呢~~~
2006-06-13 11:27
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
楼上的误解了我的意思了呢~~~
2006-06-13 11:34
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
谢谢大家了~~~我搞掂了呢~~~
2006-06-13 11:43
fgftghth
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
还是斑竹你厉害呢~~~呵呵~~~
2006-06-13 11:47
快速回复:编译能通过,运行后却得不到想要的答案..
数据加载中...
 
   



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

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