#include<stdio.h>
#include<string.h>
void main(){
char tmp[81], a[6][81] = {"chemical", "biotech", "materials",
"computer", "information", "public admin"};
int i,j,k;
for(i=0; i<5; i++){
k = i;
for(j = i+1; j<6; j++)
if(strcmp(*(a+j), *(a+k))>0) k = j;
strcpy(tmp, (a+i));
strcpy(a[i], a[k]);
strcpy((a+k),tmp);
}
for(i = 0; i<3; i++) puts(a[i]);
}
整个程序要怎么看 if(strcmp(*(a+j), *(a+k))>0) k = j;这个语句什么意思
c语言指针函数相关问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 快乐鹦鹉 2022-06-21 13:37关注
这个程序就是对字符串数组a中的数组进行从小到大的排序
if(strcmp( * (a+j), * (a+k))>0) k = j
就是当a+j这个字符串比a+k这个字符串大时,要进行交换。后面strcpy就是进行交换本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报