求助下面程序

sl09123823 2011-05-02 02:53:34
一:
#include<iostream.h>

void bubble(int[],int);

int main()
{
int array[]={55,2,6,4,32,12,9,73,26,37};

int len=sizeof(array)/sizeof(int);
for(int i=0;i<len;i++)
cout<<array[i]<<",";

cout<<endl<<endl;

bubble(array,len);
}
void bubble(int a[],int size)
{
int i;

for(int pass=1;pass<size;pass++)
{
int temp=0;
for(i=0;i<size-pass;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
if(temp=0)
break;
for(i=0;i<size;i++)
cout<<a[i]<<",";
cout<<endl;
}
}
为什么if(temp=0)
break;
没有执行?
二:
#include<iostream.h>

int main()
{
int i,j,a;
cout<<"a=";
cin>>a;
for(i=1;i<=a;i++)
{
for(j=1;j<=2*a-1;j++)
{
if(j<=(a-i)&&j>=(a+i))
cout<<" ";
else
cout<<"#";
}
cout<<endl;
}
return 0;
}
假设a=3,输出的为什么不是#
###
#####
求助,谢谢
...全文
121 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunlp007 2011-05-03
  • 打赏
  • 举报
回复
推荐写成if(0 == temp)
这样如果误把==写成=的话编译器会报错
zw1987122 2011-05-03
  • 打赏
  • 举报
回复
这样写if(0 == temp )就不怕写成=号了
無_1024 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sl09123823 的回复:]
回楼上我下面有给temp赋值为0.
我知道了,应该是temp==0就好了谢谢了
[/Quote]
temp=0就是不管怎么样都会执行的
xiaolomg 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jernymy 的回复:]

C/C++ code

#include<iostream.h>

void bubble(int[],int);

int main()
{
int array[]={55,2,6,4,32,12,9,73,26,37}; // jernymy 数组中没有0,所以下边的temp不会为0

int len=sizeof(array)/sizeof(int);
f……
[/Quote]
的确有些语句写的有问题
sl09123823 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 my_live_123 的回复:]
看看《c陷阱与缺陷》就不会犯或者少犯这类错误了!那里都有涉及
[/Quote]
谢谢了
Freedom 2011-05-02
  • 打赏
  • 举报
回复
if(temp==0)
一根烂笔头 2011-05-02
  • 打赏
  • 举报
回复
看看《c陷阱与缺陷》就不会犯或者少犯这类错误了!那里都有涉及
lt114896 2011-05-02
  • 打赏
  • 举报
回复
if里面的判断用 == ,以前我也经常犯这个错误
sl09123823 2011-05-02
  • 打赏
  • 举报
回复
回楼上我下面有给temp赋值为0.
我知道了,应该是temp==0就好了谢谢了
jernymy 2011-05-02
  • 打赏
  • 举报
回复

#include<iostream.h>

void bubble(int[],int);

int main()
{
int array[]={55,2,6,4,32,12,9,73,26,37}; // jernymy 数组中没有0,所以下边的temp不会为0

int len=sizeof(array)/sizeof(int);
for(int i=0;i<len;i++)
cout<<array[i]<<",";

cout<<endl<<endl;

bubble(array,len);
}

void bubble(int a[],int size)
{
int i;

for(int pass=1;pass<size;pass++)
{
int temp=0;
for(i=0;i<size-pass;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
if(temp=0) // jernymy 上边数组中没有0,所以temp不会为0
break;
for(i=0;i<size;i++)
cout<<a[i]<<",";
cout<<endl;
}
}



sl09123823 2011-05-02
  • 打赏
  • 举报
回复
还有那个【size】什么的好像是论坛的Bug忽略,至for处
求高手解答,在线等谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
sl09123823 2011-05-02
  • 打赏
  • 举报
回复
自己占沙发,一中的if(temp=0)
break;
在最后面

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧