笨笨孩子 2022-06-21 13:26 采纳率: 73.1%
浏览 22
已结题

c语言指针函数相关问题

#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;这个语句什么意思

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-06-21 13:37
    关注

    这个程序就是对字符串数组a中的数组进行从小到大的排序
    if(strcmp( * (a+j), * (a+k))>0) k = j
    就是当a+j这个字符串比a+k这个字符串大时,要进行交换。后面strcpy就是进行交换

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月21日
  • 创建了问题 6月21日