C の演習の課題
C 言語入門者のための演習の課題を作ってみた。
【文字列の演習】
#include <assert.h>
// ここに適切な関数を追加して、「実行できるけど、実行しても何にも起きないように」してね。
// ・今あるコードを消すのはなし
// ・#include を追加するのも禁止
void TestIsSameString()
{
assert( IsSameString("abcde" , "abcde" ));
assert(!IsSameString("abcde" , "abcdefgh"));
assert(!IsSameString("abcdefgh", "abcde" ));
assert(!IsSameString("abcde" , "" ));
assert( IsSameString("" , "" ));
}
void TestCopyString()
{
char textBuffer[0x1000];
CopyString(textBuffer, "QWERTY");
assert(IsSameString(textBuffer, "QWERTY"));
CopyString(textBuffer, "");
assert(IsSameString(textBuffer, ""));
}
int main()
{
TestIsSameString();
TestCopyString();
return 0;
}
ディスカッション
コメント一覧
すっ、すごい。確信犯だ。
ytm さん、こんにちは。
確信犯です。
テスト ファーストという言葉は一切使いません。
「関数作るときは、まずどんな関数なのかを呼び出し側のコードで明示しようね」のように説明してます。
とても良い課題ですね。
知らないうちにテストファーストを実践しているし、assertについて理解できるし、Cのポインタと文字列の扱いも理解できるし。
afukui さん、こんにちは。
ありがとうございます。
今 C 言語のポインタを教える方法を、試行錯誤しているところなんです。
自分で使うのに比べて他人に使い方を教えるのは、3倍の理解が必要です (当社比)。