这个程序这么理解

发布时间:2019-07-31 09:46:06

#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\n",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\n",s[p]);}

其他回答

不能理解,不好理解

这个程序是不对的

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

以上问题属网友观点,不代表本站立场,仅供参考!