初夏小談:函式 strchr 和 strcmp 詳解
阿新 • • 發佈:2018-11-25
實現和strchr(查詢字元首次出現的位置)
#include<Aventador_SQ.h> int Strchr(char arr[], char Char,int* location) { int i = 0; int ArrLen = strlen(arr); int temp = ArrLen; for (i = 0; i <= temp; i++) { if (arr[i] == Char) { *location = i + 1; return 1; } } return 0; } int main() { int location = 0;//記錄字元首次出現的位置 char arr[1024]; char Char; printf("請輸入源字串:"); scanf("%s%*c", arr); printf("請輸入待查字元:"); scanf("%c%*c", &Char); int temp = Strchr(arr, Char, &location); if (temp == 1) { printf("找到了\n"); printf("該字元首次出現的源字串的位置是:第%d位\n", location); } else { printf("沒找到\n"); } system("pause"); return 0; }
2.實現的strcmp(比較兩個字串)
#include<Aventador_SQ.h> int Strcmp(char arr[], char arr1[]) { int i = 0; int num = 0; int ArrLen = strlen(arr);//求取字串的長度 int Arr1Len = strlen(arr1); if (ArrLen >= Arr1Len) { num = ArrLen; } else { num = Arr1Len; } for (i = 0; i < num; i++) { if (arr[i] > arr1[i]) { return 1; } if (arr[i] < arr1[i]) { return -1; } if (arr[i] == arr1[i]) { if (i == num - 1) { return 0; } } } } int main() { int temp = 0;//接受判斷兩個字串之後的返回值 char arr[1024]; char arr1[1024]; printf("請輸入源字串:"); scanf("%s%*c", arr); printf("請輸入待比較字串:"); scanf("%s%*c", arr1); temp = Strcmp(arr, arr1); if (temp == 1) { printf("源字串大於待比較字串\n"); } else if (temp == 0) { printf("源字串等於待比較字串\n"); } else { printf("源字串小於待比較字串\n"); } system("pause"); return 0; }
珍&原始碼