トップページtech
134コメント25KB

C言語ですがfor文とwhile文って・・・。

■ このスレッドは過去ログ倉庫に格納されています
0001 NGNG
どっちがマイナーですか?
一般参考書などではfor文から記載していて学校の先生なんかも
for文から教えています。

でも俺はwhile文からfor文にした方が分かり易いんです。
みなさんどうですか?こんな俺はC歴3ヶ月です。
0084デフォルトの名無しさんNGNG
完全に>>1がおいてけぼりです
0085デフォルトの名無しさんNGNG
>>79
後置評価。
0086デフォルトの名無しさんNGNG
処理系依存のTRYとかならある。
0087デフォルトの名無しさんNGNG
gotoでエラー処理ってVBの書き方だね。
C++に慣れてる漏れには非常に違和感を覚えるよ
0088デフォルトの名無しさんNGNG
>>79
while(File.read())
{
}

for(;File.read();)
{
}

にすりゃ言いじゃんって言うのはナンセンスかと。
0089デフォルトの名無しさんNGNG
>>85
do{}while();?
0090デフォルトの名無しさんNGNG
void foo(void) {
  try{
   hoge();
  } catch(const char* s) {
   printf(s);
  }
}

void hoge(void) {
  throw "エラーだゴルァ!!!";
}
0091デフォルトの名無しさんNGNG
goto文なんてBASICでしか使わないよ。
0092デフォルトの名無しさんNGNG
>>91
アセンブラは?大抵JUMPっていうけど。
0093デフォルトの名無しさんNGNG
>>88
ナンセンスになっちゃうかー(w
0094デフォルトの名無しさんNGNG
>91
自分に使う能力が無いとはっきり言えよ。
0095デフォルトの名無しさんNGNG
後藤はつかわなくてよろしい。
0096デフォルトの名無しさんNGNG
舞台がC言語のことなら・・・スレじゃなくてよかった。
0097デフォルトの名無しさんNGNG
for(;File.read();)
{
}

こんなの書く人は変人だな
0098デフォルトの名無しさんNGNG
例えば1つのプログラムの中にエラーを検知する部分が何箇所かあって
そのエラー時には全て同じ処理をする場合どうする?

1.同じ処理を書く
2.関数にする
3.gotoを使う
4.質問が良くわかりませんがなにか?
0099デフォルトの名無しさんNGNG
2
0100デフォルトの名無しさんNGNG
>>97
同様に
i=0;
while(i<10){
/* なにかやる */
i++;
}
もな。場合によってうまく書ける方を使えばよいとおもう。
0101デフォルトの名無しさんNGNG
C++なら

for(int i = 0;i < 10;i++)

がデキルのは十分メリットだと胸を張って言えるけどね。
0102デフォルトの名無しさんNGNG
>>98
フラグ立てる。
0103デフォルトの名無しさんNGNG
>>100
>場合によってうまく書ける方を使えばよいとおもう。
それを逝ったらイカンザキ
0104デフォルトの名無しさんNGNG
>>98
5,質問の意味はわかるが低能な俺には解決法が思い浮かばない。
0105デフォルトの名無しさんNGNG
>>98
C言語だと仮定して。
関数内で確保したリソースの開放なんかを考えると、3.が楽でいいと思うがどうか?

C++だとデストラクタに任せられるけどな。
0106デフォルトの名無しさんNGNG
>>98
プログラムってことは様々な関数の中に同じエラー処理をするべき検知場所があるんだよね?
0107デフォルトの名無しさんNGNG
>>101
Cじゃできなかったのか…変数宣言は最初だもんな…
つーかVCが標準に準処してないから(正確には違う)

{for(int c; c < 10; c++){
}}
とか書くけどどうよ。
0108デフォルトの名無しさんNGNG
>>106
いや一つの関数限定&C限定。
0109デフォルトの名無しさんNGNG
>>108
じゃあgoto。
0110デフォルトの名無しさんNGNG
>>107
ブロックの最初だっけ?
って言うかあのint iのスコープはforのブロック内でいいの?
0111デフォルトの名無しさんNGNG
エラー地返してシランプリ
0112デフォルトの名無しさんNGNG
>>107
{int c;
for(c = ?;c < 10;c++){
...
}
}
でないかい?
0113デフォルトの名無しさんNGNG
>>98
何箇所(3箇所以上)かあって、
そのブロックが十行以上なら、多分俺は関数にする。
0114デフォルトの名無しさんNGNG
>>112
いや、漏れC++厨だから、Cに準処させない(藁
pascalみたいな構文ならともかくな〜
0115デフォルトの名無しさんNGNG
じゃあlongjmpで決まりだな
0116デフォルトの名無しさんNGNG
>>115
setjmpが面倒。jmp_bufを広域変数にしないといけないし(関数の引数にするとか言うなよ)・・
0117デフォルトの名無しさんNGNG
int foo(x,y,z)
int x;
int y;
char *z;
{...}
萌え〜
0118デフォルトの名無しさんNGNG
>>117
最近のコンパイラではとおらない罠
0119デフォルトの名無しさんNGNG
>>117 前時代的
0120117NGNG
A80(不治痛)のUNIXにはこうするしかなかった...
0121デフォルトの名無しさんNGNG
>>120
あんたも不治痛と書くのか。奇遇だな。
0122117NGNG
>>121
仕様書にはまさか書けないけどね...
0123名無しさん@カラアゲうまうまNGNG
>>118
通るだろ、Cコンパイラなら。
0124デフォルトの名無しさんNGNG
腐痔痛
0125デフォルトの名無しさんNGNG
>>123
gccでこけました
0126名無しさん@カラアゲうまうまNGNG
バージョンは? C++としてコンパイルしてるわけじゃないよな、もちろん。
0127デフォルトの名無しさんNGNG
>125
何もせずに通ったが。ちなみに2.96
0128デフォルトの名無しさんNGNG
K&RスタイルがこけたらANSI非準拠。
0129デフォルトの名無しさんNGNG
エラーじゃなくて警告じゃない?
0130デフォルトの名無しさんNGNG
>129
-Wall で何も出なかったよん。
-ansi -pedantic -Wall でも何もなし。
0131lisp名無しさんNGNG
(λ (for とか while とかってプププ。
(男は再帰だろ。))

0132デフォルトの名無しさんNGNG
>>131
はっきり言ってスタック浪費のコストを考えるとバカらしい。
0133名無しさん@カラアゲうまうまNGNG
>>131
閉じてない
0134lisp名無しさんNGNG
;;>>132
(read-this 'http://www.shiro.dreamhost.com/scheme/docs/tailcall-j.html)

;;>>131
(sumaso)
)
■ このスレッドは過去ログ倉庫に格納されています