标题:C语言的问题
只看楼主
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
结帖率:76.92%
 问题点数:0 回复次数:4 
C语言的问题
编写一个程序,通过找出一个数在数组的位置


#include<stdio.h>
main()
{
void findx(int x,int a[],int len,int *pos);
int arr[]={1,2,3,45,67,89,0,64,2};
int x,b;
int len=sizeof(arr)/sizeof(arr[0]);
scanf("%d",&x);
findx(x,arr,len,&b);
if (b=-1)
printf("can not find\n");
else
printf("%d\n",b);
}
void findx(int x,int a[],int len,int *pos)
{
int i;
*pos=-1;
for(i=0;i<len;i++)
if(x==a[i])
{
*pos=i;
break;
}
}


请问哪里错了啊!
搜索更多相关主题的帖子: void C语言 
2012-06-11 23:09
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
得分:0 
if (b=-1) 问题出在这里

把if (b=-1)改成 if(-1==b)
2012-06-11 23:23
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
得分:0 
回复 2楼 demonleer
谢谢啊!
2012-06-12 08:26
小宇兄弟
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-12
得分:0 
回复 楼主 陆嘉文
请问那个
*pos=-1 可以换成*pos=-2(或者任何一个别的负数吗)?
2012-06-12 22:50
smile康师傅
Rank: 2
等 级:论坛游民
帖 子:34
专家分:53
注 册:2012-6-10
得分:0 
可以啊,这个程序中只要将if (b=-1)改为if(b==-1)就行了,原程序中b=-1为非零,语句恒为真,无论如何都会执行
2012-06-12 23:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-371346-1-1.html




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

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