【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.21006

言語
投稿者---研究者(2005/05/11 21:54:11)


#include <stdio.h>
main()
{
int k, a[10], i;

for(i=0;i<10;i++)
a[i]=i;
k=5;
a[k]=(k>5 || k++<6)? 10: 20;
for(i=0;i<10;i++)
printf("%d %d\n", i,a[i]);
}
というのがある場合、解釈の違いで結果が違ってくるのですが、どうしてですか?


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:言語 21008 nop 2005/05/11 22:13:10
<子記事> Re:言語 21009 YuO 2005/05/11 22:27:01


No.21008

Re:言語
投稿者---nop(2005/05/11 22:13:10)


>というのがある場合、解釈の違いで結果が違ってくるのですが、どうしてですか?

※環境(OSとコンパイラ)や症状は具体的に詳しく!


どう言う時に、どういう風に結果が変わるのか、
具体的に、どの部分がわからないのかを書いて下さい。


この投稿にコメントする

削除パスワード

No.21009

Re:言語
投稿者---YuO(2005/05/11 22:27:01)


ついでに,
> ※ソースの添付は「HTML変換ツール」で字下げ!
もちゃんと実行して下さい。


> a[k]=(k>5 || k++<6)? 10: 20;

これは,kが6未満の時に未定義動作です。


>というのがある場合、解釈の違いで結果が違ってくるのですが、どうしてですか?

解釈の違いとは?
単に未定義なだけだとおもいますが。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧