首页 > 电脑

这个程序这么理解

更新时间2019-06-18 00:45:29

#include<stdio.h>

int main()

{

int k,p;

int s[]={3,-2,7,-5,8,1,9};

for(k=0,p=k;k<7;k++)

if(s[k]<s[p])

p=s[p];s[k]=s[p];s[k]=p;

printf("%d ",p);

}


这个程序似乎是想把数列 s[] 排序

但程序有些问题:

1、for 循环后面没有把循环的内容用大括号括起来

2、if 语句后面应该是想交换两个数据,那么需要用大括号把后面那行括起来。

3、变量 p 的使用较混乱,即作为数组索引使用,又在交换数据时作为临时变量。

如果只是单纯的想找出最小数据,那么只要把交换数据那行改一下即可:

#include<stdio.h>
int main()
{
 int k,p;
 int s[]={3,-2,7,-5,8,1,9};
 for(k=0,p=k;k<7;k++)
   if(s[k]<s[p])
     p=k;
 printf("%d ",s[p]);
}

不能理解,不好理解

这个程序是不对的

这个程序确实逻辑混乱,不知道在干什么

上一篇:这是为什么呢,java初学者,希望得到大神解决谢谢

下一篇:表格怎么随机生成19个数字其中后9含大写字母