zoukankan      html  css  js  c++  java
  • 【C】交换值

    交换 int a, int b:                           |     交换 int *p, int *q 的地址                                                                                                           

    void ( int *a, int *b)                        |      void( int **p, int **q)                                                                                                   

    {                                                   |      {                                                                                                               

      int temp ;                                 |          int *temp;                                                                                                                       

      temp = *a;                               |              temp = *p;                                                                                                                         

      *a = *b;                                   |              *p = *q;                                                                                                              

      *b = temp;                               |               *q = temp;                                                                                                                 

      return ;                                    |                return ;                                                                                                        

    }                                                   |        }                                                                                                                                           

                                                        |

    案例:用指向指针的指针的方法对5个字符串排序并输出(题源:C程序设计(第四版)谭浩强,清华大学出版社,第292页)。

    代码:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <string.h>
     4 
     5 
     6 void sswap( char **s, int i, int j)
     7 {
     8     char *temp;
     9     temp = s[i];
    10     s[i] = s[j];
    11     s[j] = temp;
    12     return ;
    13 }
    14 
    15 /*select sort*/
    16 void ssort(char **s, int n)
    17 {
    18     extern void sswap(char **s, int i, int j);
    19     int i,j;
    20     char *temp;
    21     for(i=0;i<n;i++)
    22     {
    23         for(j=i;j<n;j++)
    24         {
    25             if(strcmp(s[i],s[j]) > 0)
    26             {
    27                 sswap(s,i,j);
    28             }
    29         }
    30     }
    31     return;
    32 }
    33 
    34 
    35 /*test*/
    36 int main()
    37 {
    38     char **s = (char **)malloc(sizeof(char*)*5);
    39     int i;
    40     for(i=0;i<5;i++)
    41     {
    42         *(s+i) = (char*)malloc(sizeof(char)*100);
    43     }
    44     s[0] = "hello";
    45     s[1] = "world";
    46     s[2] = "eweli";
    47     ssort(s,3);
    48     for(i=0;i<3;i++)
    49     {
    50         printf("%s
    ",s[i]);
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    小朋友排队--第五届蓝桥杯
    Spring IOC源代码具体解释之整体结构
    Libimseti推荐系统
    Codeforces Round #277.5 (Div. 2)(C题)
    数据库经常使用函数
    Command terminated by signal 11
    winform程序公布后,client下载报错“您的 Web 浏览器设置不同意执行未签名的应用程序”
    Cocos2d-x学习笔记(四) 布景层的加入移除
    FMSC 使用理解
    将浮点数保持几位小数,尾数舍入的Format函数
  • 原文地址:https://www.cnblogs.com/yongjiuzhizhen/p/4339917.html
Copyright © 2011-2022 走看看