这个程序这么理解
#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]);
}
不能理解,不好理解
这个程序是不对的
这个程序确实逻辑混乱,不知道在干什么
热门标签: