- 1 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 00:56:09.73 ]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 104 toro.2ch.net/test/read.cgi/tech/1342315713/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 159代目 toro.2ch.net/test/read.cgi/tech/1342966104/ ★C++言語については避けてください。C++対応明記スレへどうぞ。 ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。 # サイズが大きい場合はアップローダ等を利用してください。 codepad.org/ ideone.com/ ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
- 5 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 03:07:33.56 ]
- >>3
ソースコードは、改行などせず余分な空白など入れず、ひたすら全部一行に書いて無問題
- 6 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 03:13:22.54 ]
- >>5
知らないのか? C++ ではむしろ 0 と書くのが普通 また char *p; for (p = s; *p; p++) や while(*s++=*t++) も同じ理屈だ NULL や \0 は書くと余計にわかりにくく思考が乱れバグの元だ
- 7 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 03:16:05.01 ]
- かなり古い文献のプログラムなのですが、
@ funcA(data) short *data; { char max; max = *data; A funcB(number) char *number; { short no; *number = no; B short data; unsigned short cnt; cnt = (long)data; sprintf(data, "%5ld",(long)cnt); このような表現がありました。 @Aはchar型にshort型を代入(?)してるみたいだし、Bはわざわざlong型にキャストしてshort型に代入してる? 試しにVisual C++6でビルドしてみたところ、エラーにはならないが、ワーニング(データが失われる・・・)となりました。これは、 1.この文献の記述がそもそも間違っている 2.意図的に大きい型を小さい型に代入しようとしている(warningは気にしていない?) 3.昔のC言語の仕様と今の仕様が違う(昔はエラーにならなかった?) 4.VCでコンパイルしたのがダメ どれなのでしょうか?
- 8 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 03:18:29.82 ]
- >>6
頭悪いな
- 9 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 03:21:35.37 ]
- >>6
最近C++の本を読んで感動した初心者さん?
- 10 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 03:27:00.67 ]
- >>7
1. その可能性は否定できない。 2. そもそも方を短縮することに警告が出るのは最近の話。 3. 今もエラーにはならない。 4. 意味不明。 意図したコードが判らんから判らんが、なんとなく、16ビット時代のコードの気がする。 つーか、intをshortと書く癖でもあるのか。 いずれにしても、(3)の(long)はよく判らん。
|

|