一部のCコンパイラでは、xとyのどの値がクラッシュの原因になりますか?
int f(int x, int y) {
return (y==0) ? 0 : (x/y);
}
Cの3項演算子のショートカットなので、そうはしないと思います。この質問は、プログラムパズルとコードゴルフに焦点を当てたこのサイトのフォーマットに適合しないようです。codegolf.stackexchange.com/faqの詳細については、FAQを参照してください。
—
Steven Rumbalski、2012年
これはコードゴルフではありませんが、パズルです。答えはあり、それはほんの数の数字です。
—
ugoren
私は修正された立場です。
—
Steven Rumbalski、2012年
実際、K&Rの本で判断すると、この関数は決してクラッシュしてはなりません。ただし、ANSI C標準では、特定のクラッシュの場合の動作は定義されておらず、x86コンパイラではクラッシュします。
—
ugoren
@dmckee、正解すると正解です。どの基準がより明確で客観的である可能性がありますか?答えは1つしかありません(または別の例がありますか)
—
ugoren