strcmpを自作したのですがこれを再帰関数で作り変えたいです。
#include <stdio.h> #define CMP_VALUE 10 int mystrcmp(char *p1, char *p2){ for(; *p1 == *p2; p1++, p2++){ if(*p1 == '\0'){ puts("same"); return 0; } } return *p1 - *p2; } int main(void){ int ret; char ret1[CMP_VALUE], ret2[CMP_VALUE]; printf("1つ目の文字列==> "); scanf("%s", ret1); printf("2つ目の文字列==> "); scanf("%s", ret2); ret = mystrcmp(ret1, ret2); if(ret > 0){ printf("%s > %s\n", ret1, ret2); }else if( ret < 0 ){ printf("%s < %s\n", ret1, ret2); }else{ printf("%s = %s\n", ret1, ret2); } return 0; }
再帰を使って書き直すならどう書き直せばよいでしょうか?
回答1件
あなたの回答
tips
プレビュー