C/C++の宿題を片付けます 61代目
■ このスレッドは過去ログ倉庫に格納されています
0238デフォルトの名無しさん
2006/02/20(月) 12:55:36for文を一行にしてて解答者を無駄に迷わせる問題だな。
int str_to_int(int m, char *str)
{
char code[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; // 【←A】
int num = 0, i;
while(*str){
for(i = 0; (i < m) && (i < sizeof(code) / sizeof(char)) && (tolower(*str) != code[i]); i++);
num = num * m + i;
str++;
}
return num;
}
main()の方は省略。
【A】 の部分だけど構文エラーなので修正しちゃった。
どうしても文字列リテラル使いたいなら'\0'分を考慮して
char code[17] = "0123456789abcdef";
char code[] = "0123456789abcdef";
にしなくちゃダメでしょ。
■ このスレッドは過去ログ倉庫に格納されています