这个程序这么理解 - 爱问答

(爱问答)

这个程序这么理解

#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]);
}

不能理解,不好理解

这个程序是不对的

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

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

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

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?