美文网首页C语言
C语言指针比较并转换字符串大小

C语言指针比较并转换字符串大小

作者: 你让我写个名字啊 | 来源:发表于2019-12-21 14:53 被阅读0次

思路:用strcmp函数两两比较,若是>0,就调用函数

函数:将两个字符串用strcpy函数交换(要用三次)

代码:

#include<stdio.h>

void change(char *i,char *j)//交换函数,传递指针

{

char arr[100] = {'\0'};//设置一个空数组

char *temp = arr;//指针指向空数组,免得指针乱指

strcpy(temp,i);//i将指向的地址放到temp中

strcpy(i,j);                                //下同

strcpy(j,temp);

}

int main()

{

char a[100],b[100],c[100];//三个字符型数组

char *i,*j,*k;//三个指针

printf("请输入三个字符串:\n");

gets(a);

gets(b);

gets(c);

i = a;//i指向数组a

j = b;//j指向数组b

k = c;//k指向数组c

if(strcmp(i,j)>0){//如果大于零

change(i,j);//调用函数

}                          //下同

if(strcmp(i,k)>0){

change(i,k);

}

if(strcmp(j,k)>0){

change(j,k);

}

printf("\n");

printf("%s<%s<%s\n",a,b,c);//输出三个字符串的比较

return 0;

}

输出结果:

请输入三个字符串:

zxy

ijk

abc

abc<ijk<zxy

以下为错误方法:

#include<stdio.h>

void change(char *i,char *j,char *k)//排序函数,传递指针,传送a,b,c的地址

{

char *temp;//空指针变量

if(*i > *j){

*temp = *i;//*i将指向的地址放到temp中

*i = *j;

*j = *temp;

}

else if(*j > *k){

*temp = *j;

*j = *k;

*k = *temp;

}

else if(*i > *k){

*temp = *i;

*i = *k;

*k = *temp;

}

}

int main()

{

char a[100],b[100],c[100];//三个整数

char *i,*j,*k;//三个指针

printf("请输入三个字符串:\n");

gets(a);

gets(b);

gets(c);

i = a;//i指向数组a

j = b;//j指向数组b

k = c;//k指向数组c

change(i,j,k);//调用排序函数,传递指针

printf("\n");

printf("%s<%s<%s\n",a,b,c);

return 0;

}

这样的函数只能将该数组的首元素传递进行交换,指针指向的是给数组的首地址,若是想要继续交换估计要设置一个循环然后p++;不过这样很麻烦.....交换的事让函数做好了

相关文章

  • C语言指针比较并转换字符串大小

    思路:用strcmp函数两两比较,若是>0,就调用函数 函数:将两个字符串用strcpy函数交换(要用三次) 代码...

  • C++const_cast

    C++标准转换运算符const_cast 前面讲了C++继承并扩展C语言的传统类型转换方式,最后留下了一些关于指针...

  • NSString

    NSString对象用于存储文本字符串 比较字符串的大小 比较字符串 取得字符串长度 大小写转换 转换为基本数据类...

  • [C]C语言指针

    Blog C语言指针详解 C语言字符串操作 指针的作用 指针是程序数据在内存中的地址,指针变量是用来保存这些地址的...

  • 慕课网-Linux C语言指针与内存-学习笔记

    Linux C语言指针与内存 工具与原理 指针 数组 字符串 堆内存与栈内存 gdb内存调试工具。 C语言中指针的...

  • [Swift]结构体指针操作

    C语言的指针操作 在c语言中申明一个变量并通过指针修改该变量的值 a value is 2 c语言操作结构体指针操...

  • c++11智能指针父类指针转换为子类指针

    1 C语言指针类型转换 C语言中的指针就是裸指针,裸指针存储是指向计算机内存的某一(起始)地址,通过*取值操作符可...

  • iOS开发系列文章[转]

    C语言 iOS开发系列--C语言之基础知识 iOS开发系列--C语言之数组和字符串 iOS开发系列--C语言之指针...

  • 再学C语言之指针要点

    C之字符数组 C之指针引用字符串 C语言之数组指针 数组指针:首先它是一个指针,它指向数组指针数组:首先它是一个数...

  • 关于指针

    本文为学习使用 在C语言中任意的同类型指针都可以比较大小指针变量是一个表示[内存地址]的长整数而已,当然可以比较。...

网友评论

    本文标题:C语言指针比较并转换字符串大小

    本文链接:https://www.haomeiwen.com/subject/ctqgnctx.html