1.思維導圖
2.在堆區申請兩個長度為32的空間,實現兩個字符串的比較【非庫函數實現】
(1)定義函數,在對區申請空間
兩個申請,主函數需要調用2次
(2)定義函數,實現字符串的輸入
void input(char *p)
(3)調用函數實現字符串比較,在主函數中輸出大小
int my_strcmp(const char *s1,const char *s2)
(4)定義函數,釋放空間
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *my_malloc()
{char *p=(char *)malloc(32);return p;
}
void my_input(char *p)
{gets(p);
}
int my_strcmp(const char *s1,const char *s2)
{int i=0;while(s1[i]==s2[i]){if(s1[i]=='\0')break;i++;}return s1[i]-s2[i];
}
void my_free(char *p)
{free(p);p=NULL;
}
int main(int argc, const char *argv[])
{char *s1=my_malloc();char *s2=my_malloc();printf("請輸入字符串1:");my_input(s1);printf("請輸入字符串2:");my_input(s2);int sub=my_strcmp(s1,s2);if(sub>0)printf("s1>s2\n");else if(sub<0)printf("s1<s2\n");else if(sub==0)printf("s1==s2\n");my_free(s1);my_free(s2);return 0;
}