2

セミコロンなしで「C」ステートメントを実行する例を投稿してください(;)

4

9 に答える 9

10

この行はステートメントです:

while (0) { }
于 2009-11-06T13:36:00.757 に答える
8

if()スカラー(整数、浮動小数点数、またはポインター)に評価される限り、式を指定できます。

if (expr, 0) {}

C文法によると、exprは式です。if(expr){}selection_statement、なので、これは請求書と一致します。

の本体は空,0なので、必ずしも必要ではないことに注意してください。if()したがってexpr、スカラーを返す場合、これらは同等のステートメントになります。

if (expr) {}
while (expr, 0) {}
while (expr && 0) {}
while (expr || 0) {}

すべてが式を一度評価します。

于 2009-11-06T13:37:49.947 に答える
3

間違った答え

...以下の新しい正解で。

int main(void)
{
}

の定義の中括弧のペアは、ステートメントの有効な形式の1つであるmain複合ステートメントです

編集:ステートメント複合ステートメントである可能性があり、関数本体複合ステートメントで構成されますが、複合ステートメントが関数本体である場合、それはステートメントではありませ

編集、編集:

ただし、このプログラムには、実行されるステートメントが含まれています。

int main(void)
{
    if (1) {}
}
于 2009-11-06T13:35:57.480 に答える
3

この関数を使用します:

__asm {
     mov al, 2
     mov dx, 0xD007
     out dx, al
}
于 2009-11-06T13:38:19.990 に答える
2

{ }

回答を投稿するには、少なくとも 15 文字が必要です...

于 2009-11-06T13:45:52.223 に答える
1
if (i=2) {} // give `i` a value
于 2009-11-06T13:40:09.333 に答える
1
int main()
{
  // This executes a statement without a semicolon
  if( int i = 10 )
  {      
    // Call a function
    if( Fibonacci(i) ) {}
  }

  // I have made my point
  return 0;
}

int Fibonacci(int n)
{
  return (n == 2) ? 1 : Fibonacci(n - 2) + Fibonacci(n - 1);
}
于 2009-11-06T14:22:42.053 に答える
1

プログラム全体でさえ(返された結果コードが未定義であるにもかかわらず、私のGNU Cがそれを構築しました)。質問はなぜですか?

/* NEVER DO THIS!!! */
int main()
{
    {}
}

また、C++ では、変数を使用したこの単純なスタック トリックによってリターン コードを安定させることもできます (はい、それは汚いです。理解していますが、ほとんどの場合に機能するはずです)。

/* NEVER RELY ON SUCH TRICKS */
int main()
{
   if (int i=0) {}
}
于 2009-11-06T13:50:39.960 に答える
0
#define _ ;

int main()
{
   return 0 _
}
于 2009-11-06T14:52:32.383 に答える