#include<iostream> #include<stdlib.h> #include<string> #include <assert.h> using namespace std; //鏈接字符串 被copy的要用const char *my_strcat(char *d, const char *t) { char *address = d; while (*d != '\0') //將原字符串指針移到最後一個字符 d++; while ((*d++ = *t++) != '\0') //開始複製 NULL; return address; //返回指針 } //字符串的複製 一樣被複制的爲了安全 要用const char *my_strcpy(char *d,const char *t) { char *str = d; while (*t != '\0') { *d = *t; *d++,*t++; } //複製到結束爲 \0 return str; } //從第n個字符開始複製 char *my_strncpy(char *dest, char *t, int n) { char *str = dest; //用指針str來操做 while (n&&*t != '\0') { *dest = *t; ++*dest, ++*t; n--; } return str; } //小寫轉大寫 char *my_strup(char *dest) { char *str = dest; while (*dest != '\0') { //判斷是否輸的確實是小寫 if (*dest >= 'a' && *dest <= 'z') *dest -= 32; dest++; } return str; } //大寫轉小寫 char *my_strlwr(char *dest) { char *str = dest; while (*dest != '\0') { //判斷是否輸的爲大寫 if (*dest >= 'A' && *dest <= 'Z') *dest += 32; dest++; } return str; } //比較字符比較大小 被比較的字符串都要用使用const int my_strcmp(const char *s1, const char * s2) { while (*s1&&*s2&&*s1 == *s2) { s1++; s2++; } return (*s1 - *s2); //若是相等 返回0 大於 返回正 小於 返回負 } int main() { char a[100],b[100]; cin >>a>> b; char *p1 = a, *p2 = b; //鏈接字符串 //cin >> a >> b; //my_strcat(p1, p2); //把b複製到a //my_strcpy(p1, p2); //從第n開始複製 //my_strncpy(p1, p2, 2); //cin >> b; //cout << my_strcmp(p1, p2); //小寫轉大寫 大寫轉小寫 //cin >> a; //my_strup(p1); //cout << a<<endl; //my_strlwr(p1); //cout << a << endl; cout<<my_strcmp(a, b)<<endl; system("pause"); return 0; }