開発日誌

いくつかの文字列からランダムなどれかをとるコード。

char *get_rndstr(char *ss[])
{
	char *rval = "";
	int i;
	for(i=0;;i++)
	{
		if (ss[i]==0) break;
		if (randint0(i+1)==0)
		{
			rval = ss[i];
		}
	}
	return rval;
}
/*...*/
{
	char *strlist[] = {"うぎゃー","ぎょうあああ!",
		"まさか折れた方の右足で撃ってくるとは!",0};
	char *str = get_rndstr(strlist);
}

こんなのを使っています。
ネトハクのsizeofを使ったやり方より
ぬるぽセンチネルを使ったこっちのほうが
使われてる部分が
get_rndstr(strlist);
となって見やすいと思います。