为了账号安全,请及时绑定邮箱和手机立即绑定

这个k有什么用?

这个k有什么用?

C
Toxic憧憬 2015-11-19 23:45:50
1   #include <stdio.h> 2  int sort(int a[], int n) 3   { 4     int i,j,k,tmp; 5        for(i=0;i<n-1; i++) 6      { 7           k=i; 8         for(j=i;j<n;j++) 9               if(a[i]>a[j]) 10                k=j; 11              tmp=a[k]; 12             a[k]=a[i]; 13            a[i]=tmp; 14   } 15  } 16  int main() 17  { 18    int a[10]; 19     int i; 20     for(i=0; i<10; i++) scanf("%d", &a[i]); 21     sort(a,10); 22    for(i=0; i<10; i++) printf("%d\n", a[i]); 23     return 0; 24   } 上面这个代码是不能按照我想要的去运行的,但我把第9行改成if(a[k]>a[j])时就可按我想要得到去运行 问题一:第7行和第10行把i和j的值赋给k有什么作用?或者说为什么要加一个K? 问题二:当if条件句的内容没有用括号时,机器是怎么判断截至到哪里是属于if条件句的内容?如10-13行,如果我再在1行后面加代码,机器是怎么知道那行代码是条件句判断成功才执行的? 
查看完整描述

1 回答

已采纳
?
RockenRoll

TA贡献35条经验 获得超13个赞

if条件语句后不加大括号,默认执行第10行代码,11-13行的代码就跟if的判断没有关系了。那个k就不清楚了,这是你自己写的代码?


查看完整回答
反对 回复 2015-12-01
  • 1 回答
  • 0 关注
  • 1208 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号