#include <string.h> // for strlen char my_pop_back(char *str) { const int len = strlen(str); if( len == 0 ) { return '\0'; // str が空文字列の場合は、'\0' を返す } else { char c = str[len-1]; // 末尾文字を c に代入 str[len-1] = '\0'; // 終端記号のヌル文字を次の位置に書き込む return c; // 末尾文字を返す } }
解説:
char my_pop_back(char *str) { if( *str == '\0' ) { // str が空文字列の場合 return '\0'; // '\0' を返す } else { while( *str != '\0' ) { ++str; // str をヌル文字まで進める } char c = *--str; // 末尾文字を c に保存 *str = '\0'; // 末尾文字の場所にヌル文字を上書き return c; // 保存しておいた末尾文字を返す } }
解説:
前: | 次: