C/C++ ポインタ入門 > ポインタへのポインタ 演習問題
Nobuhide Tsuda
Oct-2013
※ テストコードを用意しているので、それをダウンロードし、利用しなさい。
※ まずは正しく動作するプログラムを作成することを目標にしなさい。
※ それができたら、単に答えが合っているだけでなく、できるだけトークン数の少ない簡潔なコードを書きなさい。
トークン数が解答例より極端に多い(1.5倍程度以上)場合は、コードの見直しをしなさい。
トークン数の定義についてはここを参照しなさい。
演習問題
- ★int pp_atoi(const char **pp) 引数に文字列をとり、文字列を10進数として数値に変換する関数を実装しなさい。
文字列の先頭が数字でない場合は 0 を返しなさい。
- const char *str = ""; const char *ptr = str; pp_atoi(&ptr) が 0 を返し、ptr の値が変化していないのを確認しなさい
- str = "123"; ptr = str; pp_atoi(&ptr) が 123 を返し、ptr の値が str + 3 であることを確認しなさい
- str = "10023"; ptr = str; pp_atoi(&ptr) が 10023 を返し、ptr の値が str + 5 であることを確認しなさい
- str = "90"; ptr = str; pp_atoi(&ptr) が 90 を返し、ptr の値が str + 2 であることを確認しなさい
- テストコード、
解答例
- この問題が解けたらツイートしてね:
- ★bool pp_strchr(const char *str, char c, const char **pp)
引数文字列 str の先頭から文字 c を検索し、見つかった場合は true を、文字が無い場合は false を返す関数を実装しなさい。
文字を発見した時は、そのアドレスを最後の引数が指す先に格納しなさい。
前:
|上:C/C++ ポインタ入門
|次:
Copyright (C) 2013 by N.Tsuda, All Rights Reserved.