[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/10 01:28 / Filesize : 110 KB / Number-of Response : 467
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門編)Part 61



1 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 23:27:18 ]
C言語の*入門者*向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 60
pc12.2ch.net/test/read.cgi/tech/1264920499/
★過去スレ
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++室 Ver.72【環境依存OK】
pc12.2ch.net/test/read.cgi/tech/1267775473/
とか
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 134代目
pc12.2ch.net/test/read.cgi/tech/1263824755/
★C++言語についてはなるべく聞かないでください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

196 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 21:20:04 ]
暴れてる長文バカも
同じくらい環境依存なのに
startupコードやセクションの話になるとサクッと黙るんだよな

197 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 23:15:37 ]
>>193
WindowsはCPUレジスタそのものを管理しないって?
んなことない。ないからこそ他のプロセッサ向けに移植
されていない。初期のWinNT(4.0まで)はプロセッサ
が今のように分化してないから対応できたんだろうが
さすがに無理になってしまって現在はIntel以外は非対応

198 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 23:19:13 ]
レジスタやGPUメモリは専用命令で扱えるが
スタックとヒープを区別して扱う命令はない。
OSではこれらの差はない。

199 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 23:19:18 ]
おっとMovail (CE)とかは上位レイヤーや言語インターフェース
の互換性があるだけでメモリアーキテクチャーはIntel版とは全然違ってると考えたいね。HD非搭載なマシンでも動作させる必要がある
わけだから違って当然だけど

200 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 23:25:22 ]
入門スレであまり難しい話しないでよ

201 名前:デフォルトの名無しさん [2010/03/10(水) 23:33:17 ]
>>197
alpha とかサポートやめた主な理由は商業的なことで
儲かるとなれば技術的な問題はどうとでもなったはず

202 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 01:06:16 ]
>>198
何を根拠にそういうこと言い切っちゃうの?

OSが無い環境もあるし、物理的にアクセス速度が違うメモリに振り分けられることもあるだろう。
結局は環境を絞らないと何も言えない。

203 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:11:18 ]
Javaならどうだろうか?

204 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:36:13 ]
Intelと一口に言っても、x86/x86-64とIA-64はまったく別物だしね。



205 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:55:40 ]
CPUが特殊命令持っていて、スタック動作を速くすることが出来たとしても
それが付いてないCPUでも、スタック、ヒープメモリは使えないといけない。
これより、C言語のスタックとヒープはソフトウェアとしての用語。

206 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 02:58:52 ]
コンパイラの実装次第だがWindowsXP以降では、
スタックもヒープも同一のメモリ確保関数を使っているだろう。
すべてのコンパイラを知っているわけではないが。
CPUレジスタやCPUキャッシュのみをスタックに使う実装も出来ないことはないけど
ないんでは。

207 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 03:24:29 ]
「スタック処理支援命令が付いていないプロセッサなどCPUと
呼んではいけない」
という意見には必ずしも賛成ではないが、付いていることを
前提とするかしないかでは、OSのカーネル開発の開発者の
集団力学には大きな影響が発生し、それがOS全体に
作業環境全体に与える影響力は計り知れず、スタック支援命令が
ついたプロセッサ上のOSしか知らない俺にとっては
とてもじゃないが反対だとも言えない。

208 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 04:07:46 ]
ハードウェアのスタック機能と、C言語のスタックとヒープは
名前と動作は似ていても別物。
C言語のスタックメモリは複雑だろ。auto変数や関数呼び出しや再帰とか。
ハードウェアの機能に丸任せできないだろ。

209 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 04:14:51 ]
>>181で答え出てるのにまだ続けるのか

210 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 04:23:33 ]
C言語に限らずプログラミングで頻繁に出現する
データ構造の総称的名称としてのスタックやヒープと
CPUが決定する「具体的な」ものとでは使われる
コンテクストが全く違うだろうな(特に範疇性)
同じ用語を用いていてもコンテクストが全く異なる
ので同じコンテクストで使われていると決めつける
と何かと混乱の原因になりやすい鴨

211 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 04:48:24 ]
文字列が数値かどうか判定するのにisdigitを使うと
マイナスや小数が誤判定されてしまいますが
これらも正しく数値と判定させるためには自前で関数用意するしかないのでしょうか。

212 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 04:52:39 ]
>>211
isdigitは数字かどうかを判定する(一般には)マクロ
なんで、数値かどうかの判定を一発でするのは
無理
受け取った文字列をsscanf等で数値に直したものを
人の目を通して確認してもらうのが一番
0.9994242123123232132という文字列を数値
に直したのを表示させた時に
0.9994242123123456789
となった場合にそれが問題なのかどうかは状況に
依存。

213 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 05:41:48 ]
>>211
atoiやatof等で不満なら自作するしかないね。

214 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 06:01:50 ]
レスどうもです。
sscanfだと"1xyz"みたいに先頭だけ数字の文字列も数値として通ってしまうなぁ・・
と試行錯誤してたらatofで完璧でしたどうもありがとうございます。



215 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 06:10:06 ]
とおもったらatofでもやはり先頭が数字だとだめでした;;

216 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 06:32:11 ]
>>208
べつに、auto変数や再帰や関数の引数で特別なことはやっていないし C 言語のスタックメモリが複雑とも思えませんけれども。

217 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 07:00:12 ]
>>215
じゃぁ、自作だね。
チェック関数だけ書いて後はatofに流すのが無難かなっと思うけど
用途や目的次第なのでお好きにどうぞ。

218 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:54:53 ]
>>215
#include<stdio.h>

double get_value(const char *str)
{
double value;
int n;

if(sscanf(str, "%lf%n", &value, &n)==1)
{
if(str[n]=='\0') return value;
}
return -1.0;
}

#define TEST(str) printf("[%s]=%f\n", str, get_value(str))

int main(void)
{
TEST("0.12345");
TEST(" 0.12345");
TEST("0.12345 ");
TEST("1xyz");
return 0;
}

219 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 15:01:30 ]
素直にstrto{l,ul,d,f,ld}を教えてやれよ

220 名前:デフォルトの名無しさん [2010/03/11(木) 18:54:28 ]
スレチかもしれませんが
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1137870116
これ、答えて下さいませんか?

221 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:56:35 ]
>>220
スライドショー フリーソフト でggrks

222 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 19:57:20 ]
断片化対策にこういうことってやっていいの?
サイズ違うのにキャストしても大丈夫かな?

void *my_allocate(size_t size)
{
    return malloc(size / 4 * 4 + 4);
}

void my_deallocate(void *address)
{
    free(address);
}

int main(void)
{
    char *pc = (char *)my_allocate(sizeof char);

    *pc = 'c';

    printf("%c", *pc);

    my_deallocate(pc);

    return 0;
}

223 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 20:05:17 ]
>>222
多いのは大丈夫
不足するのはダメ

224 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:59:52 ]
>>222
4バイト単位で大きさ調整しても意味なさそう。



225 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:24:21 ]
その式だと、最初から4の倍数だった時、必要なサイズより4バイト大きくなってしまう
普通はビット演算を使うと思う
(size + 0x00000003) & 0xfffffffc

226 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:46:52 ]
>225
それはsize_tが何バイトだと想定しているわけ
いや、むしろ何ビットといった方が良いのかな

227 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 01:10:36 ]
(size + 3) / 4 * 4
だな

228 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 01:54:07 ]
>>226
それなら、0xfffffffcを~(size_t)3にでもすればいいと思う。

229 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 02:32:04 ]
~((size_t)3)かな

230 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 02:41:42 ]
昔は乗除算は必ずシフトに展開しろと教わったもんだが
今のCPUだとコストに差はないのかな
(size + 3) >> 2 << 2

231 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 02:48:41 ]
演算子の強度低減ぐらいなら処理系がうまく最適化してくれるので
意図をそのまま表現するのが良いとされるようになってきたような

232 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 02:59:55 ]
/ 4 * 4 も >> 2 << 2 も & 0xfffffffc に最適化してくれるね

233 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 03:35:43 ]
素直に「4の倍数に切り上げ」ってコメントに書くわ
どんなに簡単な処理でもコメントがあった方が読みやすいし
とくに何年も前に書いたソースだと

234 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:01:25 ]
>>233
まさかとは思うが、こんなコードは書かんでくれよ。
++count; // カウントのインクリメント



235 名前:デフォルトの名無しさん [2010/03/12(金) 15:08:47 ]
教えてください。

システムソフト開発の会社に入ってそろそろ10年。
サポートや試験担当ということもあって、
まったく言語というものを知らずに来ました。

最近、なんかまずいかな?
と思い始めて「猫C」を買って勉強しています。

でも、特に目的がないせいか、
この本やったあと次はなにを勉強すればいいかわかりません。

なにかおすすめの書籍があれば教えてください。


236 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:11:00 ]
なにがまずいの?

237 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:11:31 ]
会社の言語やってるやつに聞け
実用で使われないやつやっても無用の長物
配置転換でリストラにならないように現場で使われる率高いやつ

238 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:13:50 ]
C言語などいくらやっても徒労に終わる
基礎が出来ても完成品が出来るまでの道のりは険しい
自分でした独習など焼け石に水状態 
会社でやってるのをピンポイントでやるべき

239 名前:デフォルトの名無しさん [2010/03/12(金) 15:17:38 ]
ありがとうございます。

.NET(C#?)の問い合わせが多いので
その言語のサンプルを読めるようになると
サポートの幅は広がるよね。
とは言われました。

そうか、と思いつつ、
基本である(と思っている)C 言語の初歩本くらい
やっといた方がいいのかな、
と思ってせこせこやっていました。



240 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:20:59 ]
あとC#で何分野やってるのかも聞くといい。 
GUIとかゲームとかネットワークとか。
その分野を重点してやる。

241 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:25:07 ]
C#で開発ってXbox360かと思った。

242 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:16:54 ]
>>239
土方を目指すのでなければCは必須

243 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 18:00:22 ]
Cできたところで結局ドカタなんすけどね

244 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 18:37:40 ]
switch(c->programming){
 case YES:
  printf( "Cができるとは素晴らしいですね\n" );
 default:
  c->status = "土方"
  break;
}



245 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:05:31 ]

浮動小数を文字列に変換する方法について教えてください。
求める動作は次のとおりです:

* double型を文字列に変換
* printf系などの外部関数で変換しない
* 整数は整数として表示(小数点を付けない)
* 小数点以下の不必要な0は付けない
* 有効な精度(15桁程度?)で適当に丸める
* 出力が長い場合も扱える(例えば、「12340000000000000000000」など)

いろいろやってみたのですが思い通りのものが作れなかったので・・・
アイデア・ヒントいただければと

自分で作ってみたものも一応晒しておきます。
↓だと、「456」のときに「459.9999...」となってしまいうまくいきません。
codepad.org/lEqBv5Qz


246 名前:245 mailto:sage [2010/03/12(金) 19:07:20 ]
↑の「459.9999...」は「455.9999...」の間違いでした。
申し訳ない。


247 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:44:29 ]
配列を関数に渡して、その値を取得したいんですが、上手くいきません
どうすればいいでしょうか?

248 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:46:36 ]
>>247
[50] を除けばいいかも

249 名前:デフォルトの名無しさん [2010/03/12(金) 19:58:47 ]
すみません、取得したいというのは

int test[10];

func( &test );

a = test[ n ];

というつもりでした

250 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 21:00:10 ]
>>249
質問がよく判らんが、こういうことか?

void func(int * test)
{
test[0] = 1;
}

void caller()
{
int test[10];
func(test);
int a = test[0];
}

251 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 21:47:19 ]
>>250

それだと関数の中で1を代入しても関数を呼ぶ側では変化しないと思うんですが
普通の変数をポインタで引数を渡して変更した値を取得するプログラムの配列バージョンみたいなのは可能でしょうか?

252 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 21:56:56 ]
変化しましたけど。。
codepad.org/OGLPv5dF

253 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 22:57:46 ]
勘違いしてました
解決しました
ありがとうございます

254 名前:デフォルトの名無しさん [2010/03/12(金) 23:31:42 ]
>>238
違うね
「基礎ができて」ない奴の道のりが険しいだけ

計算をしっぱなしな奴と、ちゃんと検算する習慣がある奴の違いは
小学校で受けた教育の質から来る



255 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 23:33:45 ]
基礎からやればいいじゃん
簡単なプログラム書くときでもホーア論理とか記述的意味論とか使って検証しながら書くとかさ

256 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 23:58:26 ]
>>222
mallocがアライメント調整してるのに自前でもやる意味あるのかな?

257 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:04:47 ]
「何故かは分からんが出来たからいいや」

こういうタイプは一生伸びない。
応用できるのは何故そうなったか、つまりプロセスの部分であり、解は応用できないからである。

258 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:12:55 ]
うるせーばか
既解決問題の証明を一生再生産してろ

259 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 00:19:19 ]
こうしてHTMLは死んだ

260 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 01:23:10 ]
>>256
malloc()がアライメント調整してない場合も、pragma指定かAPIで調整できる場合が多いね。

261 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:35:26 ]
>>239
10年っていったらもう30前後なんだろ?
今更言語やっても身につかないし
そんな奴は役に立たない

262 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:36:24 ]
確かに>>261は役に立たない

263 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:47:32 ]
>>261
お前使えねーな

264 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:52:07 ]
>>261
ごめん。相当気持ち悪いな、お前



265 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:06:55 ]
261の人気にシット☆

266 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 13:16:18 ]
shit?

267 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:04:47 ]
執刀

268 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 19:58:55 ]
ファイルが存在すれば追記でオープン
ってのを格好よく書くにはどうしたらいいかな

あればエラー無ければ作成ってオプションならfopen()にあるけど
逆なんだよな〜access()使うの面倒くさいな〜

269 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:04:45 ]
質問です
ネストって一般的に何重が限度ですか?

270 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:12:56 ]
何のネストだよ

271 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:14:30 ]
>>268 "r+" でよくね?

272 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:17:32 ]
>>270
if文のです

273 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:40:30 ]
C言語の弱点はネストだな。短い文で使えばいいけど
間に沢山あるとわかりにくくなる
for{}つかえときはcontinue;で括弧を引きずらないようにするといい
場合によってはgotoもいい
長い部分は関数化

274 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:51:43 ]
>>269,272
> 5.2.4.1 Translation limits
> The implementation shall be able to translate and execute at least one
> program that contains at least one instance of every one of the
> following limits:
> - 127 nesting levels of blocks
> - ...



275 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:52:04 ]
>>272
みっつくらいじゃね?

276 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:55:31 ]
>269
ISO/IEC 9899:1999 (E)
5.2.4.1 Translation limits
1 The implementation shall be able to translate and execute at least one program that
contains at least one instance of every one of the following limits:13)
127 nesting levels of blocks
63 nesting levels of conditional inclusion
63 nesting levels of parenthesized declarators within a full declarator
63 nesting levels of parenthesized expressions within a full expression
13) Implementations should avoid imposing fixed translation limits whenever possible. number of characters as the corresponding universal character name, if any)14)
14) See ``future language directions'' (6.11.3).
15 nesting levels for #included files
1023 case labels for a switch statement (excluding those for any nested switch statements)
63 levels of nested structure or union definitions in a single struct-declaration-list
ネスト以外の限界については省かせてもらった
やっぱり63か
>274
その一つ下じゃないか

277 名前:デフォルトの名無しさん [2010/03/13(土) 20:56:03 ]
>>273

ネスト深くてもわかりやすい言語なんかねーよ
安易にgoto勧めんなよ
場合によって、の解釈でとんでもないことになるし
goto排斥主義者の人が来ちゃったら揉めるだろ



278 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 20:58:54 ]
だからgoto使わなければいいだけ

279 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 21:10:33 ]
>>276
"conditional includion" は 6.10.1 にある #if とかの話。

280 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 21:13:57 ]
>276
あっ、ほんとだ
プリプロセッサの話だ

281 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 21:21:24 ]
>>280
許してやる

282 名前:268 mailto:sage [2010/03/13(土) 21:21:26 ]
>>271
あー、オープンしてから自分でシークすりゃいいだけか。
ありがとう。

283 名前:デフォルトの名無しさん [2010/03/13(土) 22:19:58 ]
プログラム勉強始めたばかりの初心者です。例えば以下のようなif文があるとします。
カッコを入れるタイミングと位置がよく理解できていません。
なんで下記のように2回連続カッコが続いて記述されるのでしょうか?
きっとそれぞれのカッコがどこで始まり終わっているのかが理解できていないと思います。
必ず対になるので偶数個になるのは理解できていますが・・・
 おかしな日本語で大変申し訳ありませんが、どなたかわかりやすく解説をお願いできますでしょうか。
よろしくお願いします


if (条件1) {
if (条件2) {
文1;
}
else {
文2;
}
} ←これは何に対してのカッコ?なんで2回連続なんだろう???
else {
文3;
}

284 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:25:09 ]
>>283
2回連続しているけど、意味は別もの。
ネストしているカッコをそれぞれ別のカッコと考えれば分かると思うよ

  if(条件1)「
   if(条件2)『
     文1
      』else『
     文2
      』
 」
  else




285 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:26:00 ]
>>283
例にあげた if 文自体が間違っています。
わからなくて当然です。
なんの本にかいてあったんですか?どこのサイトですか?

286 名前:デフォルトの名無しさん [2010/03/13(土) 22:31:48 ]
>>283です
解説ありがとうございます。いまからじっくり読んで見ます。汗
サイトはこちらです。コピペした時におかしくなっただけかもしれません 汗
www9.plala.or.jp/sgwr-t/c/sec06-1.html

287 名前:デフォルトの名無しさん [2010/03/13(土) 22:51:51 ]
>>284さんありがとうございます。
初心者の私にはこのように見えます。

if(条件1)「 @
   if(条件2)『 A
     文1
A』else『 B
     文2
B 』
 」@  ←上記の番号がきっとそれぞれ対になっていると思っています。ただ、
     条件1が満たされなかったら下のelse文に続くからこの閉めカッコは何?とも感じます。
     きっと私は文の構成の初期的なところを理解していないと思われます 汗

else

288 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:56:51 ]
才能無い奴はやめてしまえ
おまえがC言語をやらなくてもかわりはいくらでもいる
ゴミなんだよお前は

289 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:58:46 ]
むやみに煽りすぎだろ。

290 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:59:35 ]
最初のうちは↓のような書き方をした方が分かりやすいかも

if (条件1)
{
  if (条件2)
  {
    文1;
  }
  else
  {
    文2;
  }
}
else
{
  文3;
}

291 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:00:31 ]
煽り?どこがだよ!お前もそうおもうだろ!正直に言えよ!

292 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:01:36 ]
ifの中にifがはいってるってことはわかってる?
「ネスト」で調べてみましょう

293 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:12:57 ]
>>291
ま、正直、あまりに根本的なところで、なんで?なんで?って聞かれるとイラっとはする。

294 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:13:35 ]
>>288
視野が狭いな
まさに土方の考え方だわ



295 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:15:27 ]
>>294
はぁ?じゃあお前がちゃんと答えればいいじゃねえか!てめえがびしっとこたえねえからこんな事になってんだろ!クソが!

296 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:17:04 ]
まず落ち着いて入門書を読むレベルだろコレ
おまえらが半端に親切にするからチャット状態で何も考えずに質問しちゃうんだよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<110KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef