1 名前:デフォルトの名無しさん [2007/05/08(火) 19:39:26 ] C言語の入門者向け解説スレです。 ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 11 pc11.2ch.net/test/read.cgi/tech/1176800483/ 過去スレ Part 1 ttp://pc8.2ch.net/test/read.cgi/tech/1146700389/ Part 2 ttp://pc8.2ch.net/test/read.cgi/tech/1153818463/ Part 3 ttp://pc8.2ch.net/test/read.cgi/tech/1160682950/ Part 4 ttp://pc8.2ch.net/test/read.cgi/tech/1162999861/ Part 5 ttp://pc8.2ch.net/test/read.cgi/tech/1165022193/ Part 6 ttp://pc10.2ch.net/test/read.cgi/tech/1167325490/ Part 7 ttp://pc10.2ch.net/test/read.cgi/tech/1170064980/ Part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1171946674/ Part 9 ttp://pc11.2ch.net/test/read.cgi/tech/1173284217/ Part 10 ttp://pc11.2ch.net/test/read.cgi/tech/1174290325/ 関連スレ C/C++の宿題を片付けます 86代目 pc11.2ch.net/test/read.cgi/tech/1176996941/ くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/l50 はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/l50 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
372 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:08:52 ] >>370 マ板池
373 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:09:25 ] >>367 ば…ばかって言うヤツが馬鹿なんだからねっ!!!
374 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:09:51 ] >>371 普通じゃねーよ、相手にひたすらプレッシャーを与えてボロを出したところを さらに叩く基地外くらいだろ、そういうのがデフォになっている視野も心も狭い低学歴はw 普通は何を使って書き込まれた値を確認したか聞くだろ。
375 名前:デフォルトの名無しさん [2007/05/13(日) 01:10:52 ] >>372 さん マ坂とはなんでしょうか…?
376 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:11:40 ] 良いかてめぇ〜ら、C言語をかじったくらいのクソガキが、これから始める初心者を ネチネチいじめてんじゃねーよ、スレタイが読めていないのか、こういうスレに集まる 初心者より自分の方が知識も経験もあるということを知って安心したいのか知らないが 答える気がないならこのスレから出ていってくれ。二度と戻ってくるな。 所詮お前は、プロになれなかったただのデヴ(グラマー)だ
377 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:12:03 ] >>375 プログラマー板
378 名前:354 mailto:sage [2007/05/13(日) 01:15:10 ] すみません.自分の勘違いのようです 今作っているものがunsigned ID, unsigned short sizeを読み、次にsize分文字列として読ませているんですが IDが0x0Dまたは0x1Aになるとバグったもので もう一度見直してきます どうもありがとうございました
379 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:16:06 ] >>378 おそらくfopenの際、モードをバイナリにしてないからだろ バイナリ指定してない場合、改行文字絡みで自動変換が行われる
380 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:21:23 ] >>374 オマエのトラウマなんかどうでもいいよ
381 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:21:24 ] >>374 火病ってんじゃねーぞ ・ >365 が元質問者を叩いているという事実認識がまず脳内 ・ 自分が >365 を叩いてる事実を放置 ・ 自分の主観が「普通」と勝手に定義 どっちが基地外かは火を見るより明らか
382 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:21:55 ] マジでやめてくんないかな
383 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:22:45 ] 嫌な荒れ具合だな 亡羊本人でも降臨してんの?
384 名前:354 mailto:sage [2007/05/13(日) 01:24:02 ] >>379 まったくもって情けないです バイナリ指定したつもりがしてませんでした ちゃんと動作しました お騒がせしました
385 名前:デフォルトの名無しさん [2007/05/13(日) 01:25:07 ] >>380 >>381 おまえらうるせーよ?お前が一番うっとうしい、士ねよ馬鹿 質問に答える気がないなら来るなよ。ほかにレスしている奴の邪魔なんだよクソガキ 何歳だお前?なぁ?士ねよ馬鹿w ふぁびょってんのはお前だろ。他人にファビョってんじゃねーよとか言っておきながらwwwww 380 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:23 >>374 オマエのトラウマなんかどうでもいいよ オマエのトラウマなんかどうでもいいよ オマエのトラウマなんかどうでもいいよ オマエのトラウマなんかどうでもいいよ ↑それお前だろ。お前の場合はウマシカだがw 381 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:24 >>374 火病ってんじゃねーぞ ・ >365 が元質問者を叩いているという事実認識がまず脳内 ・ 自分が >365 を叩いてる事実を放置 ・ 自分の主観が「普通」と勝手に定義 どっちが基地外かは火を見るより明らか ・ >365 が元質問者を叩いているという事実認識がまず脳内 自分のレス読み返せ基地外。 ・ 自分が >365 を叩いてる事実を放置 はぁ?なんで?叩いた覚えありましぇ〜〜ん、ちゃんとできたと答えたけど? いつ俺が叩いたか、参照レスきぼんぬ。ってか、俺を特定できないから無理だろうけど 俺は叩いていないし
386 名前:デフォルトの名無しさん [2007/05/13(日) 01:25:53 ] >>383 そうやっていないのに特定の人物をどうこう言い始めるだろ? お前もうそれで名誉毀損だよ。亡羊さんに通報しとくねw 覚悟しとけよ
387 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:27:09 ] 釣れてますねw
388 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:27:18 ] >>386 亡羊ってだれだよ。
389 名前:デフォルトの名無しさん [2007/05/13(日) 01:27:40 ] >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 に問う なんではっちゃだめなの?理由は?お前の気まぐれとか、気分とかだったらまずお前がただの馬鹿だと言う結論しか出ないから。 参考にできるページがあったら使う、別になんら問題ないし、そのページには間違った記述はされてないよ。 まぁ、たぶん亡羊を嫌っている誰かだろ。特定できそうだから、亡羊さんに聞いてくるわ。 どうせプロになれなかったボケグラマーだろw
390 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:29:54 ] >>388 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 参照w 言ったのは俺じゃないから。正しくは望洋だから。ANSI、ISO準拠を重視した本の出版をしているし そんじょそこらの知ったかプログラマーと比べたらかなりまともな人だろうね。 他人を叩くような奴って、世界基準すら知らなさそうで視野が狭そうだなw int mainについても理解してなさそう(どこぞのスレで議論になったが、ISOの参照ページを出したら 尻尾を巻いて逃げたけどなw)
391 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:32:00 ] >>俺を特定できないから無理だろうけど ↑ これがこいつの心理だろうなw
392 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:32:30 ] >>381 > ・ 自分の主観が「普通」と勝手に定義 はい?自分の主観で言った覚えはありませんけど? ちゃんとバイナリィエディタで 0D 00 00 00 が書き込まれているのを確認しましたが何か? 質問者が何で書き込まれた値を確認したか聞いたのに、どうして俺が 主観 となるんでしょうか? 正確にお答えをして下さい。でなければ偽証罪で通報しますよ?証人喚問は怖いですよぉ〜〜
393 名前:デフォルトの名無しさん [2007/05/13(日) 01:33:35 ] >>391 ぷぷっ、そういうところにしかもう反応できない肝っ玉の小さいクズ乙w こういう匿名(実際のところは完全に匿名ではない)ところでしか強がれないボケ 他人の粗探しを必死こいてするくせに、自分の落ち度をまったく認めない井の中の蛙乙w
394 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:34:33 ] ここまで望洋さんに肩入れできるのはある意味すごいと思った。
395 名前:デフォルトの名無しさん [2007/05/13(日) 01:35:51 ] 質問者の答えに答えるどころか お前何やってんだよ としか言わない奴はとっととこのスレから 出て行ってくれませんか?うっとうしいんだよ、答えもしないくせに相手のボロを探すだけの馬鹿
396 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:35:52 ] >>389 特定できたら家にきてくれよ。酒くらいは出してやる。
397 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:40:30 ] もう眠い。寝る。
398 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:41:01 ] どうぞ。
399 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 02:02:29 ] 望洋信者って怖いな
400 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 02:04:43 ] いつの間にか信者になっているしw 参照できるライブラリのページを出しただけだろ。亡羊を狙った覚えはない
401 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 02:44:13 ] なんだ、まだやってたんだ。暇な人はこれだから……
402 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 05:37:00 ] 他人の粗探しをしている奴がきんもぉ〜♪だよな。指摘するならするで 間違いを指摘すりゃ良いだろ。気持ち悪いよ、お前それわかってねーなって ネチネチ煽る奴。日頃、まともな人付き合いがないからこういう捻くれた 相手を見下して自分が優位な立場だと思い込みたい引きこもりなんだろうね
403 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 05:45:51 ] >402 自己紹介乙
404 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 06:14:59 ] >>403 反応したお前ノナー
405 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 06:15:32 ] >>403 =昨日、つまらないミスを気持ち悪く指摘して煽っただけの知ったかバカ
406 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 07:01:27 ] 亡羊? ボコボコにしてやんよ ∧_∧ ( ・ω・)=つ≡つ (っ ≡つ=つ / ) ババババ ( / ̄∪
407 名前:質問者 mailto:sage [2007/05/13(日) 08:52:04 ] きのうはお騒がせしました。 「演算子を使わない」とは、四則演算のことです。 ビット演算で何とかできないかな?と思いましたが。どうでしょうか?
408 名前:デフォルトの名無しさん [2007/05/13(日) 10:27:06 ] #include <stdio.h> #include <string.h> int main(void) { char *name[12] = {"Mutsuki","Kisaragi","Yayoi","Uzuki", "Satsuki","Minazuki","Fuzuki","Hazuki", "Nagatsuki","Kannazuki","Shimotsuki","Shiwasu"}; char **p; int i; p = name; for(i = 0;i < 12;i++){ printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p); /* @ */ printf("%2d:%s\n",strlen(*p),*p); /* A */ ++p; } return 0; } 今、ポインタのポインタを使って文字数を数える練習問題やっているのですが @のprintf文を実行するとDos窓が強制終了してしまいます。 デバックの時にエラーは出ないのですが・・・なにが間違っているのでしょうか。 Aの方は普通に出力できます。 Visual C++ 2005 Express Editionを使っています。
409 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 10:38:24 ] >>407 コンピュータサイエンスの基礎をやれ。 四則演算を論理素子でどうやって実現するか知れば くだらない疑問を抱かずにすむ。
410 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 11:02:22 ] >>408 printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p); %2d = i+1 %s = strlen(*p) ← %d = *p ←
411 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 11:08:34 ] どうやって、論理素子で計算するんですか。 16進数に置き換えてするんだとは思いますが、すごく疑問です。 2×4=8とか、8÷2=4を論理素子で計算する。 すごく難しいと思います。
412 名前:408 [2007/05/13(日) 11:15:59 ] >>410 あああ!逆だった ありがとうございます!
413 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 11:36:28 ] >>411 本屋に行って"CPUの仕組み"みたいな本買ってこい あとは加算器で調べてみるとか
414 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 11:47:10 ] >>411 2 << 2 8 >> 1
415 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:40:23 ] 剰余はどうするんすか? スタック使って割られる数-商*割る数って演算するんですか?
416 名前:デフォルトの名無しさん [2007/05/13(日) 13:43:31 ] ファイル操作のとこでreturn(-1);の意味がさっぱり。
417 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 14:57:20 ] >>415 掛け算と割り算は加減算で表現できるだろ 単純に何回も引いていって引けなくなればそれが余り 2進数で桁上がり下がりフラグ使って同じようにやればできる 筆算で(2進数)割り算やるときとほとんど同じ あとは本買って嫁 >>416 return(-1);はよくエラーチェックに使う -1が返ってきたらファイル開けなかったということになってるとおも
418 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 14:58:24 ] 変数を使わずに1+2の計算結果を出すにはどのようなプログラムを組めばいいのでしょうか
419 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:04:32 ] printf("%d",1+2);
420 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:04:42 ] >>418 こういうこと? printf("%d\n", 1 + 2);
421 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:05:48 ] 演算子、変数と来たから次は何だろう
422 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:06:39 ] 関数を使わずに(ry
423 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:08:56 ] C言語を使わずに(ry
424 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:10:33 ] 頭を使わずに(ry
425 名前:デフォルトの名無しさん [2007/05/13(日) 15:20:20 ] >>417 ありがとうございます
426 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:35:27 ] 30年とか表示するとき int a; a = 30年; printf("%d",a); でやると、年が邪魔っぽくて表示されない どうやればいいの〜?
427 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:37:35 ] printf("%d年", a);
428 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:39:42 ] 表示以前にコンパイルできないのでは????
429 名前:デフォルトの名無しさん [2007/05/13(日) 15:40:53 ] >>428 だから結果として年が邪魔で表示されないんだろう。初心者苛めんな。
430 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:41:45 ] せめて教科書読めよっていう質問ばっかりきてるなぁ
431 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 15:47:30 ] とうとう>>424 の問題が出てきたか
432 名前:デフォルトの名無しさん [2007/05/13(日) 16:04:10 ] 一般的な入門書やりおわったけど、次はどんなステップを踏めばいいですか?
433 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:05:13 ] >>432 目標は何?
434 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:07:29 ] 自分一人で基礎知識の応用が出来るようにすることかな。 処理速度とかも視野に入れた上で。 なんかテキトーに自作ツール作ってみるとか。
435 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:08:14 ] >>434 は>>432 へのレス
436 名前:デフォルトの名無しさん [2007/05/13(日) 16:09:20 ] >>432 この世界は片っ端から全部覚えてたらキリがないから ちゃんと自分がなにをやりたいのか見定めて進んで行かんと、 無駄に多大な労力を費やすことになるぞ。
437 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:09:22 ] 作りたいもん作ればいいと思うぜ
438 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:12:40 ] >>434 自分で C のプリプロセッサでも作ってみたら? 確か以前、"未踏"でも採択されたことがあったはず。
439 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:33:39 ] Socket,データベース,文字列処理(正規表現含む) これらができると幅がぐっと広がる…っていうか基本 後はアイデア次第
440 名前:デフォルトの名無しさん [2007/05/13(日) 16:34:35 ] かなり意欲はあるのですが…やはりいろいろとオリジナルのアプリケーション・ソフトウェアを作ってみたいです。やはりそーゆー本を買っていろいろやってみるべきですか?
441 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:36:13 ] 本を買う必要はないが、色々やってみるべきだろう。
442 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:38:52 ] >>439 の中でまず文字列処理からやってみては? とっつきやすいと思うよ。 ネットにも入門サイトとかいっぱいあるし。
443 名前:デフォルトの名無しさん [2007/05/13(日) 16:41:18 ] 入門書に文字列処理についての事が無かった様に思うのでお聞きします。文字列処理は初耳です。
444 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:42:23 ] >>440 作りたいものがあるならさっさと作ってみるのが吉 やってるうちに技術もついてくる
445 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:44:04 ] >>443 >入門書に文字列処理についての事が無かった様に思うのでお聞きします strcpy() も文字列処理だと思うが?
446 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:44:16 ] 現実問題Cで作るべきアプリなんて存在しないのが辛いな
447 名前:デフォルトの名無しさん [2007/05/13(日) 16:45:51 ] みなさんご親切に…大変ありがたいです。ちなみに、みなさんはどのようなプロセスで、今のC言語のプログラミング力まで力を伸ばされたんですか?簡易的に話して頂けたらいいのですが…
448 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:47:17 ] ゲームプログラミングをやってみては? 囲碁・将棋・チェス・オセロとかね。 Cで作るのが最適。
449 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:50:23 ] >>447 宇宙からの電波 >>448 オセロなら6行で作ってた神がいたな
450 名前:デフォルトの名無しさん [2007/05/13(日) 16:51:01 ] >>448 やはりそうしようかなと思います。Cで作るべきアプリケーションがそんなに存在しないようならば
451 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:51:53 ] 自分は将棋が趣味で、自分より強い将棋プログラムを作ろうという目標があったから勉強した。 将棋プログラムってハッシュテーブルとかリストとかソートとかビット演算とか、 基本的なアルゴリズムが各所にちりばめられてるから勉強にはいいテーマだと思う。
452 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:52:40 ] >>450 >Cで作るべきアプリケーションがそんなに存在しないようならば これって、どういう意味だと思っている?
453 名前:デフォルトの名無しさん [2007/05/13(日) 16:56:43 ] >>452 C言語にはその点ではあまり需要がないものかと…
454 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 16:57:15 ] >>450 あとはOSに興味あるならLinuxのソース読んでみるとか 学ぶのは自分で作ってみたり本読むか知っている人に聞く プログラミング力のうちの知識はそれで十分だが英語できるかどうかで 足りない知識の吸収率が変わってくる(最先端の知識・アルゴリズムなど) あとは経験で補えるが数学力のあるなし(知識じゃなく頭良いかどうか) でどこまで伸びるかが変わる
455 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:06:48 ] 勉強のためにCの勉強してるなら 標準ライブラリのクローン(strcpy, strcat, printf, ...)と UNIX系コマンドラインツール(cp, tail, head, sort, ...)のクローンを片っ端から作っていくと勉強になる。 サイズも小さいし、答え合わせ用のソースコードも(あまり初学者向けとは言いがたいが)あるし。 まあほとんど糞つまらん苦行に近いがコーディングは楽しいし一番無駄がないだろう。
456 名前:デフォルトの名無しさん [2007/05/13(日) 17:08:09 ] うーん、自分はまだ、配列、構造体、ポインタ、ファイル操作、関数の作り方、変数、if文、switch文、for文、while文、をやってきたとゆう感じです。
457 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:10:47 ] >>456 じゃ、もう少し実践的な奴やってみたら? www.kumei.ne.jp/c_lang/ とか参考にしてウインドウ開いてみたりさ。
458 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:15:36 ] バブルソートを用いて 構造体に対して、データが格納された構造体配列を 学生証番号で降順にソートする関数sortIDと 点数で降順にソートする関数sortEngを作成しなさい。 データの入力は、関数input_seiseki_pを呼び出して行い、 次に「どちらで整列しますか(1:学生証番号、2:点数):」と表示し その入力により関数sortIDと関数sortEngを選択肢、その結果を 関数seisekiを使って表示する関数meinを作りなさい 上記の問題において私なりに途中まで作ってみたのですが、 ここから先がわかりません。。 どなたかお知恵を拝借させて下さい kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3974.c ↑途中まで作ったソースです。 よろしくお願いします。
459 名前:デフォルトの名無しさん [2007/05/13(日) 17:17:41 ] もういっかい違う入門書を買ってみろってことですか?
460 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:40:37 ] >>458 どこがどうわからないのかkwsk 学校とかのレポートなら解答出すわけにいかんし >>459 >>457 じゃないがおまえちゃんと>>457 のリンク先見てみたのか? 簡単なデータペースやゲームの作り方も内容にあるだろ それとも全部わかってるのかこの内容?
461 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 17:47:38 ] まぁ、猫が妥当かどうかは問題だがな。
462 名前:デフォルトの名無しさん [2007/05/13(日) 17:48:44 ] ちゃんと見てませんでした。ごめんなさい。
463 名前:デフォルトの名無しさん [2007/05/13(日) 18:10:29 ] www.geocities.jp/supermisosan/rksimultaneousequation.html のページにあるローレンツのプログラムをコンパイルしようとしたのですがエラーがでて出来ませんでした 開発環境に問題があると思うのですが、原因がよくわからないのでご教授願います windowsXPでソフトは「C言語を始めよう!」、コンパイラはBorland C++ Compiler 5.5です そのままコピペしてコンパイルするとエラーメッセージが(rktest.cはファイル名) ------ コンパイル開始 ------ Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland rktest.c: エラー E2140 rktest.c 17: ここでは宣言はできない(関数 main ) 警告 W8057 rktest.c 57: パラメータ 't' は一度も使用されない(関数 f1 ) 警告 W8057 rktest.c 57: パラメータ 'z' は一度も使用されない(関数 f1 ) 警告 W8057 rktest.c 66: パラメータ 't' は一度も使用されない(関数 f2 ) 警告 W8057 rktest.c 75: パラメータ 't' は一度も使用されない(関数 f3 ) *** 1 errors in Compile *** ------ コンパイル終了 ------ と出ます スレ違いのような気がしますが、該当スレが見つからなかったのでここで質問させていただきました
464 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:18:13 ] >>463 そのコードはANSI Cに準拠していない。 FILE *output; の行を main 関数の先頭に持ってくるといいよ。
465 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:39:02 ] 4つくらいのデータを1つのノードとして そのノードを2二次元配列の1文字分のように扱いたいんですけど、 構造体を設定して strcut ABC{ char char char }; struct ABC data[][];とできますかね?
466 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:40:59 ] struct ABC data[ ][ ];です
467 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:41:17 ] なんでやってみないの?
468 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:42:18 ] いややったんだけどセグメンテーションエラーだから 無理なのかと。
469 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:44:16 ] >>468 コンパイルできないはずだけど
470 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:45:21 ] >>469 どういう意味ですか?
471 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:46:05 ] >>468 コード貼ってみろよ。中途半端に省略しないで。
472 名前:463 mailto:sage [2007/05/13(日) 18:47:21 ] >>464 回答ありがとうございました 警告は消えませんでしたが、エラーが消えて無事コンパイルすることができました この警告は無視しても問題ない範囲なのでしょうか? 原因を把握していらっしゃるのでしたらお伺いしたいのですが
473 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:48:14 ] >>472 使ってない仮引数を教えてくれてるだけ。無視しても問題はない。
474 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:49:44 ] >464 コンパイラがANSI Cに対応してないんでねーの?
475 名前:463 mailto:sage [2007/05/13(日) 18:50:31 ] 重ね重ねのご親切ありがとうございました
476 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:51:37 ] >>474 ANSI Cでは変数はブロックの先頭のみで宣言できる。 bccはANSI準拠。
477 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:54:07 ] struct ABC { char name[10]; char initial[10]; char home[10]; };と構造体を設定 struct ABC data[10][10]; int i,j; for(i=0;i<10;i++){ for(j=0;j<10;j++){ strcpy(data[i][j].name,NULL); strcpy(data[i][j].name,NULL); strcpy(data[i][j].name,NULL); } } 一部ですけども、その二次元配列の中身の全ての各部門の初期化をしたいのですけど この時点でセグメンテーション違反がおきるわけです。
478 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:55:21 ] strcpy(data[i][j].initial,NULL); strcpy(data[i][j].home,NULL);です
479 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 18:57:10 ] 馬鹿だろ。 strcpy(data[i][j].name, "");
480 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:04:35 ] >>479 ありがとさん
481 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:07:04 ] まあ data[i][j].name = '¥0'; ってやった方がいいとは思うけど初期化だから別にいいか。
482 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:07:45 ] うわ。間違い data[i][j].name[0] = '¥0'; こう
483 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:54:50 ] 大学でC言語を習っています。 ifやforといった基本的なことは理解しているつもりである程度プログラムは書けます。 今、アルゴリズムの授業を受けているのですがポインタや構造体が理解できません。 参考書に載っているソースを自分で打ち込んで実行したり、少し変えたりしているのですがどうも暗記っぽくなっています。 そのため「○○をポインタと構造体を利用して作れ」と言われても何からしたらいいかわからない状態で。 ポインタや構造体はC言語で一番重要と言われているので是非自分のものにしたいです。 皆さんはどうやってポインタや構造体を理解していきましたか?
484 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 19:57:33 ] サンプルコードをいくつか読めばそれで理解できた。
485 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:10:22 ] 使ってりゃ理解できた
486 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:11:48 ] >>483 わからないところは図を描いて理解。 デバッガで全変数表示してつながり・変化を確認。
487 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:12:40 ] くそなげえプログラム書いてたら飯なんてどうでも よくなって4時間経過w
488 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:30:41 ] さっき構造体での二次元配列はどのようにすればいいのかを聞いたものですけど その二次元配列data[i][j]において 1行さすのはdata[i]でいいのはわかるのですけど 1列をさすのはどうおけばいいですかね?
489 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:44:39 ] 基礎からやり直せ
490 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:46:59 ] >>488 列は無理。
491 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:47:08 ] >>488 メモリの配置を想像してみろ。 列は分断されていて連続したメモリとしてアクセスする方法はない。
492 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 20:57:08 ] >>483 ポインタのイメージがつかめない場合はその都度アドレスと中身を表にして書いて理解 ポインタpのpと*pと&pの違い,あるいは変数aのaと*aと&aの違いが わかっていれば大丈夫のはず なぜポインタが必要かっていう設計思想を知りたければアセンブラとかを 学んでみるといいいかも >>488 他の言語なら実装されてたりするけど C言語ではそういう便利な機能は基本的に用意されてない
493 名前:デフォルトの名無しさん [2007/05/13(日) 23:12:11 ] 転職してプログラマになりたいんだ。 そのためにCとC++をマスターしたいんだが…。 それで今は一応C言語の基礎を終わらせたんだけど C言語で関数やアルゴリズムやAPIなども覚えてから C++行ったほうがいいのかな? それとも先にC++でオブジェクト指向とか把握してから いろんなこと手を出した方が良いかな?
494 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 23:15:29 ] さっさとC++池 今時Cなんてほとんど使わないからC++からCのコードを利用する際の最低限の知識さえあれば十分。
495 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 23:16:05 ] ぶっちゃけ経験年数のが大事。 マの真っ当な評価なんてマ以外に出来るわけがないんだから。
496 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 23:22:16 ] あらためてアルゴリズムを考えてみると その列であてはまるのは1つだから 列指定にしなくてよかった。
497 名前:デフォルトの名無しさん [2007/05/13(日) 23:23:21 ] >>494 Cは使わないのか じゃC++の勉強にいこうかな まだCでコードとか書けないけど大丈夫かな・・・ >>495 年齢が30前後とかだと未経験じゃプログラマになるの難しいかな?
498 名前:デフォルトの名無しさん [2007/05/13(日) 23:29:01 ] >>497 おまいさんはマ板にお逝き。
499 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 00:00:23 ] >>497 どんなプログラムの仕事がしたくてどんな会社かによる なんか実用的(ゲームでもいい)なプログラムひとつでも組んでると 就職のときにアピールにはなる とりあえずマ板へ池
500 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 01:50:07 ] プログラムの処理がどの程度完了しているのかを示すことを試みたのですが, うまくいきませんでした.具体的には,以下のことをしました. #include<stdio.h> int main(){ int i, j; for(j=0; j<10000; j++){ for(i=0; i<100000; i++){ } if((j%1000)==0)printf("*"); } printf("\n"); return(0); } j が10000ループされますが,1000ループごとに * を1つ出力し, * が10個になったら処理完了を知らせるというものです. 上のソースコードのようにしてみたところ,j のループを出てから * が10個同時に表示されてしまいます. どのように書けばよいのでしょうか?お願いします.
501 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:02:37 ] >500 ちゃんとjのループの途中で*が表示されてるけど? ただ、1000個ごとなら(i%j)==999だろう。
502 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:07:08 ] バッファフラッシュしなきゃいけないとかそーいう問題じゃないの? 環境は?
503 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:09:42 ] ANSI C準拠だったら整数の範囲って32767までじゃなかった?
504 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:16:56 ] >>500 for(i=0; i<100000; i++){ i 使って無いじゃんwwww ワロタw
505 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:18:50 ] int に10000も入れれませんwww 基本からやり直せよwww
506 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:19:42 ] >>500 if((j%1000)==0){ printf("*"); fflush(stdout); } という話か?
507 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:20:26 ] >>504-505 釣りにしても ひどい
508 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:22:24 ] C とC++ の違いを分かってない人がいっぱいいるので一応書いておく Cの構造体には変数しか設定できないのですが C++は構造体の中に関数を入れれます。それがクラスって呼ばれるものです C++でヤリなされw
509 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:23:17 ] 何かの処理の進捗状況を表示する部分について質問してるんでしょ。 単にその処理の部分は省略しただけなんじゃないか?
510 名前:500 mailto:sage [2007/05/14(月) 02:25:02 ] >>501-508 レスありがとうございます. >>502 さん及び>>507 さんのもので,求めていた結果を得ることが出来ました. これからfflushをググってみます. >>504-505 が釣りかどうかすら分からない自分が悔しいです. 勉強に励みます.ありがとうございました.
511 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:26:59 ] 進捗状況ってさ ソースに printf("処理○○終わり"); って書いていけばいいんじゃないの? 完成したら消せばいいわけだし
512 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:28:26 ] だからfflushはだめだってw
513 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:30:15 ] ほかっとけ 初心者だぞ相手はwww
514 名前:500 mailto:sage [2007/05/14(月) 02:31:20 ] >>509 実際は処理内容が含まれますが,それとは別に処理内容を全部消したもの (>>500 そのもののソースファイル)を作成して実行しても * が一度に出力された ので質問をしにきました. >>511 1試行で数分かかる繰り返し計算処理なので,何%終了したのかを概数でも 良いから表示させたかったのです. >>512 駄目なのですか??
515 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:32:26 ] マロックにサイズオブ使わずそのまま数字書いてるとか goto使いなんだろうよ
516 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:33:37 ] >>514 目的が達成できたんならそれで問題ないよ 環境依存だから、他の環境に持っていくことがあるなら問題だけど
517 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:34:10 ] つうかさ 関数の再帰使わなかったら 処理スピードなんか大して変わらんよ 何千万行でも数行でも・・・
518 名前:500 mailto:sage [2007/05/14(月) 02:37:48 ] >>516 今の環境のみで動かすものなので これで大丈夫です.皆さん,ありがとうございました.
519 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:50:38 ] お ま い ら 難 し く 考 え す ぎ
520 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 02:58:24 ] >>508 クラスの肝は派生できる事。 派生無しにクラスを語っても意味がない。
521 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:01:07 ] C++はスレ違い
522 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:05:30 ] >>516 の言ってる環境依存ってfflushの事か? 確かに入力ストリームに対するfflushは未定義動作だが 出力ストリームに対しては正常に機能したと思うが違ったか?
523 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:08:10 ] お前ら もう質問者はいなくなったぞw
524 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:16:47 ] rand()で作った変数を for()等でループにかけることって 実際問題 どうゆう場合ですか?
525 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:17:47 ] 頭の悪い質問に頭の悪い回答者 このスレほんとゴミ化したな・・・
526 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:23:18 ] >>512 中途半端な知識でゴミ回答するんじゃないよ
527 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:30:23 ] じゃあ 頭のいい質問しましょw 関数のポインタと、配列のポインタ等の置き場が勝手に割り付けられると聞いたのですが 実際はどのように割り付けてるんですか? 出来ればコンパイル自体のソースをもちいて答えていただきたいと思います
528 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:31:25 ] >>524 質問の意味がよく分からんが 10体の敵がそれぞれランダムに動く場合とか?
529 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:32:34 ] >>527 メモリの話か?
530 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:33:24 ] >>527 ポインタの置き場って何? コンパイル自体のソースって何?
531 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:34:03 ] おーい!機械語読める奴探してるらしいぞw
532 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:34:55 ] メモリの割付だおw
533 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:39:15 ] よーわからんな 関数が置かれるアドレスの話か? なぜそこでポインタが出てくるんだ? 配列も置かれるアドレス? なぜ普通の変数じゃなくてわざわざ配列? ローカルとグローバルによっても違うし もうちょっと問題を整理してくれんか
534 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:47:40 ] >>527 そんなもん環境依存だろ・・・
535 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:49:24 ] 【内容】浮動小数点型(float、double等)を使用せず整数型(int)のみを使用し 「√」計算を行える計算機を作る 【どこが分からないのか?】全部wごめん 【どうして欲しいのか】代わりにソースを書いて欲しい
536 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:51:40 ] 宿題は帰れ。 最近の学校は開平も教えないから困る。
537 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:53:53 ] 開平ってなんですか?
538 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 03:55:44 ] ググれ
539 名前:デフォルトの名無しさん [2007/05/14(月) 05:58:55 ] >>537 波平の双子の兄さんだよ。
540 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 06:53:39 ] >>537 灘、駒場、麻布と並ぶ名門です。
541 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 09:26:01 ] C >>>>>>>>>>>>>>>>> C++ C++は究極の中途半端言語
542 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 09:40:57 ] C++に挫折したそうです
543 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 13:59:59 ] >>535 intしか「√」内に入らないということでよろしいか?
544 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 14:01:04 ] >>543 お前意味が分からんw 整数しか入らないか?って聞けよwww
545 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 14:07:39 ] 一番簡単な整数「9」を計算し「3」を出すプログラムを作りソースを書け 話はそこからだw
546 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 14:48:06 ] そのまえにルートがなんなのか学んだほうがいいw
547 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 14:58:35 ] >>535 確認だが正整数の間違いじゃないか? そうでないとしたら複素数使わんと駄目だぞ
548 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:00:21 ] 0でも問題ないだろ。
549 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:00:56 ] 出題者がアホなのか質問者がアホなのか。 後者だろうけど。
550 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:01:52 ] 宿題野郎にヒントなんて与えなくていいよ。
551 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:02:58 ] 負数を与えたら死ぬようにすりゃいいじゃん。
552 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:03:41 ] >>548 おまえひょっとして-9は整数に入らないとか思ってないよな?
553 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:04:17 ] >>552 0は正整数に入らないと思ってる。
554 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:04:54 ] >>552 おまえひょっとして0は正整数入るとか思ってないよな?
555 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:06:58 ] 負数が入っても絶対値の平方根に i つけりゃいいだけじゃん。
556 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:11:16 ] おk 言い直し 非負整数でおk
557 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:14:10 ] 誤爆にレス付けてるアホどもってよっぽどやることがないんだね。
558 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:15:51 ] つか整数か非負整数いずれにしてもなんで出題者はそんなのに限定してるんだ? 実数じゃなにか問題があるのか?
559 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:17:35 ] ヒント:宿題
560 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:20:01 ] >>557 どのレスが誤爆なんだ? ちょっとよく分からん
561 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:22:14 ] 宿題スレのテンプレに似てると思ったんじゃないか?
562 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:30:15 ] 宿題スレってはじめて見てみたがひどいな 写し放題じゃねーかwwww 先生は宿題スレもチェックしとくべきだなw
563 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:34:55 ] してるんじゃない? そうでなくとも、まったく同じ答えが複数きてたらばれるだろう
564 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:38:04 ] 教授からここの宿題スレを使うなと警告が来た例もあるらしいよ
565 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:40:44 ] そういうことするやつってそのへんは抜かりなくて少し変えてたりする 普段の態度や小テストで理解度見てたらだいたい自分でやったかどうか想像付くんだけど さすがに人数多いといちいちチェックするのはめんどくさいw 院生に採点まかせっきりだったりもするからな
566 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:41:00 ] うざい
567 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 15:43:56 ] でも先輩友人の繋がりで写すのはどこでも常態化してるだろ。 それのネット版だ。 大してかわらんだろ。
568 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:37:23 ] char a[5] = "unko" どこにNULLが入っていますか? 6個目?
569 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:38:08 ] 何でデバッガ使わないの?
570 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:42:01 ] >>568 |壁|д゚) あのさ 教科書きちんと読もうよ NULLと¥0と0の違いをきちんと理解しろw
571 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:43:59 ] >>568 先頭を一個目と数えて五個目にNUL文字が入っている。六個目は存在しない。
572 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:44:58 ] NULL 値アドレスなし、値0、ポインタの値として使用できる \0 値アドレスなし、値0 0 値アドレス有り、値0
573 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:51:17 ] 値アドレスって何ですか?
574 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:52:04 ] イミフな空白はなんですか?
575 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:54:28 ] >>572 あなたはなにをいいたいんですか
576 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:55:53 ] >>535 問題の趣旨を考えてみたw 10/3を計算すると3.33333333333333333・・・・と続くが小数点以下が増えていけば4という端数が発生する COBOLでやれよと言いたいwなぜにcでww
577 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 17:57:07 ] ttp://www.psl.ne.jp/perl/pdojo00b.html ちっちっち、なんか勘違いしていないかね?NULLポインタとNULL文字とはまた別物だよ?
578 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:08:59 ] >>577 出力形式が、紙への印刷しかなかった時代が有ることを説明しないと無理でしょw
579 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:12:36 ] >>578 いやいや、そうじゃなくて、NULLといってもポインタと文字とは別物だってことなんだが?
580 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:13:10 ] >>572 正確に言えば NULL=値無し、アドレス有り ¥0 =値0 、アドレス無し 0 =値0 、アドレス有り だけどねw
581 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:13:58 ] 何で初心者が回答したがるんですか?
582 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:15:13 ] >>580 イミフw アドレス無かったら値入れれませんがw
583 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:16:35 ] 文字配列をNULLポインタに指定するのと、文字配列の中にNULL文字を入れるのとでは ぜんぜん意味が違うということさ。前者はまだ文字列を指定するアドレスが指定されいない 何もないところを示しているが、後者は文字列の中にNULL文字だけでも入っていれば 空ではあるが文字列(の先頭)を示すアドレスは存在しているよん。
584 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:17:23 ] >>580 志村ーーー、上の2つのアドレスありなしは逆逆w
585 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:17:37 ] あの・・・ かなり前に関数で配列の数を数えたいといった(内積を計算したいと)ものなんですが NULLになるまでcount++するというプログラムならいけるかなと思いまして。 ぬるぽっていうのは、char型のアドレス限定ですか?
586 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:19:29 ] そもそも「¥0」ってなんだ? 好意的に解釈して「\(バックスラッシュ)0」の心算なんだろうけど、 '\0'と書かないと意味を持たない希ガス。
587 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:20:34 ] >>580 アドレスの有無ってなんだよ いかなる値でも記憶領域に属していればアドレスはあるし、 そうでなければアドレスはないだろ。
588 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:21:49 ] #include <stdio.h> int main(void) { char *a=NULL,*b={"\0"},*c={"0"}; printf("%p : %s \n",a,a); printf("%p : %s \n",b,b); printf("%p : %s \n",c,c); return 0;} これの出力結果を見れば一目瞭然だよ
589 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:26:10 ] >>588 マジレス乙
590 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:29:13 ] >>588 を実行すると、異常終了して1行も出力されません。 どうしたら一目瞭然になるんでしょうか。
591 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:30:33 ] >>590 とりあえずaを表示する部分を消して下の2つは確認できる?
592 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:31:00 ] >>590 ゴメンよ なぜか知らんがコンパイルできて出力できてしまったよw
593 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:32:46 ] >>588 の出力結果は、俺んとこ(WinXP , BCC使用)でやったら 00000000 : (null) 0040A128 : 0040A12A : 0 っと表示された。
594 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:33:23 ] (nil) : (null) 0x80484cc : 0x80484ce : 0
595 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:34:16 ] >>585 ガッ いや、char型のアドレスだけじゃなく他の型でもNULLはある。 charとかchar[]はNULL文字と深くかかわってるけどNULL文字とNULLポインタは全く別物。 NULL文字は文字列の最後に終端記号として置かれる物。 NULLはポインタがどこも指してない事を示す記号として色んな型のポインタ変数に入れられる物。
596 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:34:37 ] 0x0 : (null) 0x402000 : 0x402002 : 0
597 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:42:21 ] こういうアホ連中がそのうち社会に解き鼻垂れるのかと思うと 陰鬱な気持ちになるな・・・
598 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:43:38 ] ヒント int main(void) { printf("てすつ"); return NULL; } やってみようw
599 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:45:45 ] >>598 > return NULL; いっ、いぃ〜〜のか?
600 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:46:08 ] コンパイルとおりませんでした。
601 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:47:09 ] $ gcc -xc - #include <stdio.h> int main(void) { printf("てすつ"); return NULL; } ^D <stdin>: In function ‘main’: <stdin>:5: 警告: return makes integer from pointer without a cast $ ./a.out てすつ $ echo $? 0
602 名前:デフォルトの名無しさん [2007/05/14(月) 18:48:01 ] >>597 =>>286 とか上からものを言っているあほなお前がすでに社会に出ている方が怖い
603 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:51:37 ] ヒント マは人格障害者の宝庫w
604 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:52:38 ] 俺に聞け スレで 俺に聞くなよ って態度は何様だよ?w
605 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:55:06 ] ここは初心者さんのスレだから、イイのw 【1】 #include <stdio.h> void main(void) { printf("てすつ"); return NULL; } 【2】 #include <stdio.h> int main(void) { printf("てすつ"); return ; } 【3】 #include <stdio.h> void main(void) { printf("てすつ"); return ; } それぞれやってみよう
606 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:57:22 ] >>605 > やってみよう 何が目的?何が言いたい?はっきりしろ、うっとうしい
607 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 18:57:37 ] そういう阿呆なこと教えるから、阿呆プログラマが量産されるわけだ。
608 名前:せんしぇ〜 ◆cNsKLREitk mailto:sage [2007/05/14(月) 19:01:47 ] はい。 コンパイルのはじき方が理解できましたか?
609 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:02:46 ] 我ら幼い人類に 目覚めてくれと 鼻垂れた〜
610 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:10:28 ] >>608 もしかして、そういうの面白いと思ってる?
611 名前:デフォルトの名無しさん [2007/05/14(月) 19:11:49 ] ぜんぜん
612 名前:デフォルトの名無しさん [2007/05/14(月) 19:12:05 ] 605 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:55:06 ここは初心者さんのスレだから、イイのw 【1】 #include <stdio.h> void main(void) { printf("てすつ"); return NULL; } 【2】 #include <stdio.h> int main(void) { printf("てすつ"); return ; } 【3】 #include <stdio.h> void main(void) { printf("てすつ"); return ; } それぞれやってみよう ここは初心者さんのスレだから、イイのw ここは初心者さんのスレだから、イイのw ここは初心者さんのスレだから、イイのw それぞれやってみよう それぞれやってみよう それぞれやってみよう それぞれやってみよう
613 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:25:59 ] >>608 のが面白いとは思わないけど >>612 みたいなのも面白いとは思わない
614 名前:デフォルトの名無しさん [2007/05/14(月) 19:28:09 ] >>613 自己擁護乙。お前つまんねっ、初心者を見ていらつくくらいなら こんなスレに来るなよw お前みたいな気持ち悪い基地外に回答なんて求めてねーよボケ 俺は初心者じゃなくて回答する側だけどなw
615 名前:デフォルトの名無しさん [2007/05/14(月) 19:29:07 ] んで、さっきっからこいつも何?せめて自分の使用環境くらい書けようぜぇ 600 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:46:08 コンパイルとおりませんでした。 590 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:29:13 >>588 を実行すると、異常終了して1行も出力されません。 どうしたら一目瞭然になるんでしょうか。
616 名前:デフォルトの名無しさん [2007/05/14(月) 19:31:21 ] んでさぁ、これって何の ヒ ン ト なの?なんについてのレス? main関数の戻り値はintって指定してあるのに、NULL指定って何?ただのバカ?失せろ社会のクズw 598 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:43:38 ヒント int main(void) { printf("てすつ"); return NULL; } やってみようw
617 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:31:27 ] >>614 どこがどう擁護してるのか分からないけど 言われて傷ついた? そろそろwつけるの止めたほうがいいよ
618 名前:デフォルトの名無しさん [2007/05/14(月) 19:32:40 ] >>617 はいっ、そうやって言い返さないと気がすまない=自分を自分で擁護して必死こいているのがバレバレ なんすけど?擁護する必要すらない。お前みたいな奴は養護学校へ行けw
619 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:33:18 ] やっぱり最近ここ荒らしてるって このwつけるやつだと思う
620 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:34:08 ] >>617 > 言われて傷ついた? それお前だろ?お前が基地外だのこのスレには不要だのバカだの言われて 戦力外通告されて必死だな
621 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:34:26 ] >>618 面白くない
622 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:36:51 ] >>619 =>>286 以下このスレの質問には無関係な自分の知識をひけらかして他人の無知を探ろうとしている奴 クソレスして他人の気分を害している お 前 が 言 う な >>605 みたいなのがうぜぇ。本当にバカじゃね?何いきなり戻り値の話に持ち込んでんだよ? NULLを使う場所間違ってんぞ 以後、ここで質問に関係ないレスをしている奴は、現実世界で友達のいない寂しがりやだと思って 見守ってやってください。ここではもちろん スルー でおながいします。
623 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:37:47 ] 必死すぎだろ・・・
624 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:38:29 ] やっぱ荒れてきた >>622 wつけるの止めたの?
625 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:39:18 ] 必死すぎワロタ
626 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:39:55 ] 誰か配列の大きさを調べる関数を書いてくれるとありがたし
627 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:41:03 ] >>626 大きさって何ですか?もっと詳しく!
628 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:42:52 ] >>622 >ここで質問に関係ないレス > お 前 が 言 う な >>626 Cでそれは無理ではないだろうか
629 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:46:04 ] さっきっからファビョって自分を擁護している奴って間違えた >>580 と >>572 か?まぁ、誰が誰をバカにしているかわからんが 答えるなら正確に調べてからレスするなり、参照できるページを使うのもありだぞ。 答えても相手が理解する能力がなければそれまでだしな。 けど、int mainの戻り値にreturn NULL;とかありえないから。 NULLに関するヒントとか何にもなってないし、明らかにint mainとしているだけあって 戻り値の指定が不適切ってことしか言えないから。関数の前に記述している型について 理解していないことをカミングアウトしなくて良いから、こんなスレで自分も初心者でぇ〜す ってことをアピールしなくて良いから、ファビョらず黙っていてくれ。
630 名前:デフォルトの名無しさん [2007/05/14(月) 19:46:57 ] >>628 =間違ったヒントを出して赤っ恥かいているバカ 以後放置よろ
631 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:47:29 ] すいません C言語でしか作れないプログラムはありますか? Cの良さってなんですか? 付け加えて他の言語の良さ悪さを教えてください
632 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:49:27 ] >>630 じゃあ正しいヒントだせば? でなきゃ>>628 と同じ
633 名前:デフォルトの名無しさん [2007/05/14(月) 19:51:28 ] >>632 ただしいヒントとかじゃなくて、何であんな無意味なヒント出したんだ?w 何が意図かはっきりしろって言われてんじゃん。なお、NULLポインタについては すでにソース付きでレスがあるんであしからず。
634 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:52:32 ] >>628 =>>632 他人を装ってしらじらしいんですけど。 >>605 >>598 なんすかこれ?
635 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:53:12 ] >>633 さっきから間違えてるんだけど >>613 より前にレスしてないし
636 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:53:49 ] 趣味でハックしてる人はソースコードでハァハァってオナニーしているって聞きましたが お金かからなくていいですね・・・・・・・・・ うらやましいです
637 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:54:24 ] っと、最後まで自分の間違いを隠そうと相手に必死こいて相手のボロを出そうとしている 赤っ恥さんがいましたとさ。以後放置よろ。
638 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:57:10 ] >>637 いろいろ必死すぎ・・・
639 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:57:54 ] つうか 過去レス探すのメンドクサイからHP作れよ!
640 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:58:14 ] >以後放置よろ これみて思い出したけど前回荒れたときもこいついた
641 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:01:38 ] んで、みんな >>605 をそれぞれやってみた? コンパイルエラーだの警告だの出たよね?だから何?としか言いようがないんすけど・・・ >>605 は何をしたかったか、明確なレスを求む。
642 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:08:02 ] >>641 やってないし、やる気もない
643 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:10:06 ] >>642 やってないお前に聞いてないけど?だからそういうレスするなって。 NULLポインタのアドレスを表示するコンパイルもしてないくせに。
644 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:12:55 ] >>643 >みんな >それぞれやってみた? やった人間だけレスしろというなら最初からそう書け お前は抜けてるんだよいろいろと
645 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:14:08 ] さっきっから何かと噛み付いてこないと気がすまない基地外がいるんだな。 わかりやすいね、そういう人間って。このスレには初心者が集まって 自分より知識のないやつが多いと思い込んで、浅はかな知識でレスしちゃっているんだろうけど それが仇となってボロだしまくりで恥をかく奴。
646 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:14:17 ] >>643 そろそろ消えてください
647 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:15:22 ] >>645 いちいちレスするな うざい
648 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:15:36 ] >>644 はぁ?抜けているのはお前。しかもお前には脳みそが抜けているようだ。 日本語がわからない?何他人に指図してんだよ?こっちはやれよとは言ってないが やってみた?とは聞いたが?何これ?何俺に噛み付いてんの?さっきから基地外だよなお前はw 抜けているのはお前の脳みそ、な?理解しろ。 > 最初からそう書け 何命令してファビョってんだよ?わけのわかんねーソースを書いたNULLポインタ厨w
649 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:15:44 ] ん〜と、やってみてだから何?という人に早くレスしてあげてください。 さっさとね。
650 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:16:54 ] 何言ってもこういう自分中心人間には効かないんだろうな ある意味うらやましい
651 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:17:11 ] >>647 =>>646 =>>644 初心者叩きするのに失敗して赤っ恥ソースを出した厨房必死だなwwwww 何そこまで必死こいてんの?あっ、あのソースをコンパイルされて、自分がボロを出して バカだということを露呈されるのが怖いんだぁ〜〜〜〜(^ー^)b コンパイルした奴らにはあほだということがバレて大恥かいたもんなぁ〜〜〜君ってw
652 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:18:44 ] >>650 そうだね、わけのわからねーソースを出してreturn NULLしちゃっているぬるい奴って >>598 >>605 < こっ、こここ、これは・・・すごい大ヒントだ!こいつがバカだってことがわかる大ヒントw
653 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:20:42 ] >>605 ほらほら早く説明しろよ。初心者さんがコンパイルして待ってまつよ。 ほら、涙目を拭いてさ。
654 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:20:46 ] こうゆうスレには 群がってくるんだな 有る意味新鮮
655 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:21:01 ] >>590 だけコンパイルできない(しょぼい環境)を使っていることがバレバレ もしかして、OSはMS-DOSでつか?
656 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:22:24 ] 608 名前:せんしぇ〜 ◆cNsKLREitk 投稿日:2007/05/14(月) 19:01:47 はい。 コンパイルのはじき方が理解できましたか? ↑しかもこれがあのヒントの答えだろ?だから何?コンパイルエラーを誘うなら 別にreturn NULLじゃなくても通らないソースを書けばおkだろ? NULLの取り扱いについてなんら説明になってないから。
657 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:25:05 ] >>631 以前他のスレで似たような質問があってその回答だけどどうぞ。 pc11.2ch.net/test/read.cgi/tech/1175949937/539
658 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:25:31 ] オレ、このスレのこと一生忘れない
659 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:25:34 ] しつけ〜
660 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:30:26 ] ってか俺も言っててわけわからなくなったw return NULL;だけを持ち出したらそれはそれで問題とならないが あれがその前の流れからして何のヒントなのか?それが知りたいw
661 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:35:07 ] おわった?
662 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:37:58 ] ヒント #include <stdio.h> int main(void){ int x=NULL; printf("%d \n",x); return 0; } さぁ、int型のxに代入された値はなんだった?俺んとこは0。 ただ、これはNULLポインタとは話は別なんで、あしからず。
663 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:39:12 ] 環境依存
664 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:41:07 ] さて、もう一つ、大大だーーーーいヒントでピントを与えちゃよ。 次は文字データとしてNULLを指定しちゃうよ。俺んとこは空文字でコードは0が入った。 #include <stdio.h> int main(void){ char x=NULL; printf("%c %d \n",x,x); return 0; }
665 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:42:57 ] そう、何か値(データ)として与えるのと、ポインタに対して与えるのとでは ぜんぜん違うんですねぇ〜。これならわかるでしょ。NULLそのものが何なのか。 え?こんな説明じゃ不十分でヌルい?まぁ、後は使い方を適切にしてやってくれ。 ポインタにNULLを与えた場合、何も示すアドレスがないってことには変わりはないさ。
666 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:43:46 ] >>662 これ、時々偉そうに「環境依存」だなんていう奴がいたりするけど 実際に0が出ない環境を見たことあるのか?
667 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:50:12 ] >>665 まずは、お前のレスがどれか教えてくれ
668 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:56:55 ] >>667 そうやって相手をさぐろうとするだろ?だから気持ち悪いって思われるんだよ。 >>662 が本日の最初だが?だから何だ?って言われることをお前は言うから 日頃周りから「なんだこいつ?気持ち悪い」って思われてんだよ。 いいたいことがあるなら言えよ、相手次第でいえるとかやっているから お前は弱者を見つけては相手を叩く性格になっちまったんだろ? 自分が筋の通る説明ができないなら黙ってた方が良いぞ。 ちなみに、&xにして%pでポインタのアドレスを確認すると、 中にNULLで与えた値は入っているが、ちゃんとアドレスは割振られているから。確認してみろ。
669 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 20:57:46 ] >>535 プログラムよりアルゴリズムの方が(数学が)難しかった #include<stdio.h> int main(void){ int x, tmp, left, ans, digit_align; printf("正整数を入力してください > "); scanf("%d", &x); if(x<0){printf("\nError:正整数を入力してください\n");return 1;} for(digit_align=1;x/digit_align>=100;digit_align*=100); left=x/digit_align; ans=0; while(left>0 || digit_align>0){ for(tmp=9;tmp>0;tmp--) if((ans*20+tmp)*tmp<=left) break; if((ans*20+tmp)*tmp<0) break; // overflow? printf("%d", tmp); if(digit_align==1) printf("."); digit_align/=100; if(digit_align>0) left=(left-(ans*20+tmp)*tmp)*100+(x/digit_align)%100; else left=(left-(ans*20+tmp)*tmp)*100; ans=ans*10+tmp; } printf("\n"); return 0; }
670 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:00:50 ] ポインタに対してと値との違いがわからないならプログラムなんてやめとけ。 #include <stdio.h> int main(void){ char x=NULL,*xn=NULL; int y=NULL,*yn=NULL; printf("char x=NULL : %p -%c- \nchar *xn=NULL : %p \n",&x,x,xn); printf("int y=NULL : %p -%d- \nint *yn=NULL : %p",&y,y,yn); return 0; }
671 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:00:51 ] #include <stdio.h> void main(void) { printf("てすつ"); int a; a=NULL; return a; }
672 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:04:23 ] >>668 被害妄想激し過ぎだろ… 普通に流れが混乱して誰が誰か分からなかっただけなんだが、 まあいいや
673 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:06:10 ] >>669 ありがとうございました 助かりました 他のアホどもとは格が違いますね
674 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:06:58 ] >>672 うざい。何が言いたいかはっきりしろ。相手がどうとか関係なしに NULLがどういうことか?の話で説明する相手次第で事実関係を捻じ曲げたり おかしいと自分が思ったことを叩きつけるのはどうかと。言いたいことがあるなら言え。 すでにソースを提示して証明されてんだろ。ポインタとNULL(データ)を与えるのとはどういことかについて。 理解できないのにこんなスレで無知な初心者相手にいい加減なレスをしているのか貴様は?
675 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:11:02 ] >>672 相手にしないほうがいいよ さっきだって人違いって言ってるのにわかろうとしないし といっても擁護乙って言われるだけだけど 自分に対する批判は>>605 だと思ってるから ちなみに>>662 が本日の最初って言うのはうそだから
676 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:12:14 ] >>673 訂正 先頭に #include<limits.h> を追加 if((ans*20+tmp)*tmp<0) break; // overflow? ↓ if(ans>=(INT_MAX-81)/180) break; //overflow?
677 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:13:21 ] >>675 ですね すみません
678 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:21:10 ] ぬるぽを代入するなら#define NULLPO 0にするか普通に0使えって事ですか?
679 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:21:55 ] >>631 マイコン等を使う組込系では、Cしか高級言語の選択肢がない (ほかは低級なアセンブリ言語)という場合も多い。
680 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:23:58 ] >>678 NULLを代入したいのならNULLと書けばいいだろうガッ
681 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:24:08 ] >>666 「NULLが(void*)0と定義されていてコンパイルエラーになる」という可能性もある。 >>673 次から宿題スレ行け C/C++の宿題を片付けます 87代目 pc11.2ch.net/test/read.cgi/tech/1179025919/l50
682 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:25:22 ] >>669 ここを宿題スレにするつもりか?
683 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:28:14 ] C FAQ の事も時々でいいから思い出してあげてください。 www.kouno.jp/home/c_faq/c5.html#0
684 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:32:59 ] >>681 んー・・・ 基本的に「代入したらいくつになるの?」って話だから、 代入ぐらいさせてくれ(っていうか初期化だな。こりゃ)。 int x=(int)NULL; で x が 0 で初期化されない環境があるかないか、という事で。
685 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:42:51 ] あのさ お前らって「Cパズル」ってやったこと無いだろw
686 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:48:31 ] ないお^^
687 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:52:39 ] >>684 C FAQから www.kouno.jp/home/c_faq/c5.html#17 たぶんこうこうところなら(int)NULLは0にならないのだろう
688 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 22:15:24 ] >>687 >たぶんこうこうところなら(int)NULLは0にならないのだろう www.kouno.jp/home/c_faq/c5.html#5 を読んだ?
689 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 22:27:51 ] Cなら NULL か 0 を必要に応じて使い分けなくてはならない C++なら、ほとんどのプログラマーが 0 を使っている VCなら nullptr で即解決
690 名前:687 mailto:sage [2007/05/14(月) 22:37:03 ] >>688 すまん687のNULLは(void*)0のことだと思ってほしい。 FAQ 5.5は0をポインタ型として扱うときの話だろ。 でもここではヌルポインタを整数型として扱おうとしている。 C++でいうところのreinterpret_cast<int>((void*)0)を表したかった。
691 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:28:36 ] 規格上の話を言えばポインタから整数型への変換は implementation-defined だから、何も言えないかと。 大抵はいちいち変換かけたりせず値としてはそのままにするだろうから、実際上は >687 の通りだと思う。 で、調べてて気づいたんだけど、9899:1999 だと、ポインタ型→整数型→元のポインタ型で元の値に戻ることすら 保証されてない(void* 経由ならOK)。 14882:2003 だと、整数型が十分な大きさであれば↑で元の値に戻ると明示されてるんだけど。
692 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:48:33 ] ttp://ja.wikipedia.org/wiki/%E3%83%8C%E3%83%AB_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF) まだやってんのかよ。実際にNULLをコードの中に入れてどういう結果が出力されたかで わかるだろ。各個人の勝手な定義や妄想はいらねーって。 time(NULL)だの使われているけど、何もないを与えてもしゃーないべ? だから、データや値として与えた場合と、ポインタに与えた場合とでどう違うか? それはそうと、>>580 あたりで \0 (NULL文字)の値(コード)が0なのは良いとして アドレス無しってところがどういうことなのか、説明を求む。 文字列の終端を示す文字として使われているんで、その終わりを示す場所にも 先頭からそのNULL文字そのもののアドレスまでちゃんと割り振られているとは思うが? >>568 で言えば unko の後ろに空文字が入っている場所のアドレスが存在していると思うが? #include <stdio.h> int main(void) { char a[5]="unko"; size_t i,sz=sizeof(a)/sizeof(a[0]); for(i=0; i<sz; i++) printf("a[%d] : %p / \"%c\" \n",i,&a[i],a[i]); return 0; }
693 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:56:42 ] printf("a[%d] : %p / \"%c\" / code : %d \n",i,&a[i],a[i],a[i]); なんならこうして、文字コードも参照してみるか?って終端の\0(NULL文字)に対して ASCIIコードでは0が割り当てられているのは既出だが、ちゃんとコード(値)0として 扱われてんだよ。そこは実装されている言語によって扱われ方も違う点はあるだろうけど なんだかんだ言ってもそれはおかしいといっても、実際はそう扱われているというのが現実。 なぁ、おまいら、いい加減目を覚ませよ?辻はもう処女じゃないんだぜ?それが現実さ(タバコを吸う紳士のAA略)
694 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:58:03 ] だれもそんな話してないだろ・・・
695 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:00:21 ] またNULLの話してんのかよ。毎度毎度よく飽きねえな
696 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:01:24 ] これでどうだ? #include <stdio.h> int main(void) { char a[5]; size_t i,sz=sizeof(a)/sizeof(a[0]); a[0]='u'; a[1]='n'; a[2]='k'; a[3]='o'; a[4]=NULL; for(i=0; i<sz; i++) printf("a[%d] : %p / \"%c\" / code : %d \n",i,&a[i],a[i],a[i]); puts(a); return 0; }
697 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:02:29 ] >>694 反応しちゃダメ
698 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:02:56 ] 毎年分からないやつが入ってくるんだから 同じ話題が繰り返されるのはしょうがないさ
699 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:09:19 ] これが現実だ φ1・2・3! images.google.co.jp/images?q=%E6%9D%89%E6%B5%A6%E5%A4%AA%E9%99%BD&lr=lang_ja&ie=UTF-8&oe=UTF-8&aq=t&rls=org.mozilla:ja:official&client=firefox&um=1&sa=N&tab=wi ttp://puka-world.com/php/upload/ren/img-box/1178589185304.jpg ttp://puka-world.com/php/upload/ren/img-box/1178589261938.jpg
700 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:35:35 ] つまりこういう事 void hoge(void) { return; }
701 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:45:03 ] 戻り値void に 空return を、御丁寧につける必要なんてないだろ そんなふうにかんがえていた時代もありました
702 名前:デフォルトの名無しさん [2007/05/15(火) 01:50:35 ] すみません。PHPはC言語でできてるみたいですが、ソースないっすかね?
703 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:52:28 ] >>702 ここからどうぞ www.php.net/downloads.php
704 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:57:28 ] >>693 \0は八進法で値を指定するエスケープシーケースなのだから、 ASCIIでなくても'\0'は0に等しくて当然。
705 名前:デフォルトの名無しさん [2007/05/15(火) 02:26:10 ] >>704 お前もわかってないアホだな。無駄口たたくな、自分の勘違いをさらすだけだから。 文字コードを表示するのに %d を用いている点が理解できてないな。
706 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:29:13 ] 704 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 01:57:28 >>693 \0は八進法で値を指定する \0は八進法で値を指定する \0は八進法で値を指定する \0は八進法で値を指定する ja.wikipedia.org/wiki/%E5%85%AB%E9%80%B2%E8%A8%98%E6%95%B0%E6%B3%95 ん?八進法で値を指定?意味わかんねー。参考にできる文献やソースきぼんぬ。 文字コードの割り当てに何進法とか関係ないから。むしろ16進数にて対応コードを 示している文献はよく見かけるけど。
707 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:33:47 ] >>704 文字の終端を意味する \0(NULL文字、空文字)を入れたところにも ちゃんとデータを格納するアドレスが存在しているって話だが? なんかややこしくなっているが、 unko の後ろにNULL文字があるからといって unko の後ろのアドレスがNULLになっているわけではないんだが・・・ その説明に何をわけの分からない説明にもならないことをいい掛かってきてんだね君は? まさか、値は0だけどアドレスはなしとか書いちゃった赤っ恥>>580 でつか?
708 名前:デフォルトの名無しさん [2007/05/15(火) 02:34:46 ] >>706 「猫でもわかるC言語プログラミング」 これ読め
709 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:37:00 ] ぐぐったらこの154にほとんど似たような文句があった・・・ nssearch.hp.infoseek.co.jp/clang/1127737437.html
710 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:40:51 ] 580 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:13:10 >>572 正確に言えば 正確に言えば 正確に言えば 正確に言えば 正確に言えば ¥0 =値0 、アドレス無し ¥0 =値0 、アドレス無し ¥0 =値0 、アドレス無し その後、文字の終端を意味するNULL文字の入ったデータに 前の文字列に続いてアドレスが割り振られていたことが プログラムの実行にて証明されたため、赤っ恥をかいてしまったのであ〜〜る あっ、ちなみに16進数で表示したかったら、%d から %x なり %X で指定してね♪
711 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:41:15 ] >>706 704じゃないけど 八進法で値を指定ってのはたとえば'A'=65(10進)=101(8進)だから これを'\101'と表すって事では。
712 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:42:45 ] 八進法 八進法 八進法 八進法 八進法 八進法 八進法 wwwwwww
713 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:44:06 ] 酔ってんの? 素面でこれだったら怖いけど。
714 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:45:47 ] 八進法、発進!ブ・ラジャー!
715 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:46:21 ] 相手すんなよ・・・くだらん
716 名前:ここでフレーム投下 mailto:sage [2007/05/15(火) 02:48:41 ] cで10進定数の0を使いたいのですがどうしたらいいでしょう。 普通に0と書いたのでは8進定数になってしまいました。
717 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:49:34 ] 単に順番にコードが割り当てられているのに、なぜか八進法wwwwww 何のために2進数、16進数があるか分かってないな、この八進法w >>704 > ASCIIでなくても'\0'は0に等しくて当然。 これも意味が分からん。そりゃ何進法になっても0は0だが そういうことをいってんじゃねーよ。\0が割り当てられている文字コードが0って話だろ。 ASCIIだからじゃなくて、ASCIIではそうなっていて、そのASCIIコードを参照できる ソースコードを用いた説明で、なぁ〜〜に意見にもならないわけの分からない理論を持ち出してんだ? \0 が 0 に等しい、だから何?そうじゃなくて、文字の終端を表す NULL 文字が入ったアドレスには 値に 0 が入っているのを敢えて参照して、ちゃんとNULL文字もデータとして格納されている アドレスが割り振られているって話 な・ん・だ・がw
718 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:51:11 ] 八進法必死だなw
719 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:52:18 ] 16進数 → \x00 8進数 → \000 \0 は8進数の0だったんだよ。まあ同じ0だけどね。
720 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:52:22 ] 消えろゴミめ
721 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:53:00 ] 八進法、発疹!そりゃちゃいまんがなw
722 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:54:04 ] 704 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 01:57:28 >>693 \0は八進法で値を指定するエスケープシーケースなのだから、 ASCIIでなくても'\0'は0に等しくて当然。 ASCIIとかじゃなくてNULL文字の入ったchar型のデータにどんな値が入ったかであって 値が入っているアドレスが存在するって話でしょ?ぶぅ〜〜ふふふふっ(吹いた)
723 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:55:45 ] ム板って何か些細なことに異様にこだわる人がいるよね。 やっぱ仕事のストレスなんだろうか。 SI業界で就活してたけどやめとこうかなあ…orz
724 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:55:51 ] >>716 0で始まる数字は8進数だよ。 int a = 090; とか書いてコンパイルしてみ、8進数に9という数字は無いからエラーになるよ
725 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 02:56:14 ] Cの構成を考えていて、偶然にも、 driver.ができました。 『C言語なら俺に聞け』と なっている位なのでそんな物は、 とっくにご存知なのでしょう、ね?
726 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:57:04 ] >>708 読む必要性なし、というか、ちゃんと八進法に関する文献やソースを分かりやすく 提示してもらえませんかねぇ?ASCIIじゃさまざまな文字が表現できないんで いまさらASCIIだけにこだわる気はねーよ。文字コードで10進数以外だと 16進数で表記されているのをよく見かけるんですけどねぇ〜。どこでつか、八進法で 表記しているところは?なんで八進法?そんなんで表記したら、桁が多くなるものだと 10進法で表すより桁の数が増えて面倒なんすけど?
727 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:59:00 ] いったい何の議論をしているのかさっぱりわからんw
728 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:59:55 ] 阿呆が喚いてるだけだろ。議論になんかなってないよ。
729 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:00:24 ] >>725 『続』 忘れていました、拡張子をなくしてもdriver、です。
730 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:00:36 ] いい加減秋田から、まとめとくね。NULL文字を入れたところにもアドレスは存在する。 勝手にNULLポインタにしちゃだめだぞ、めっ
731 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:01:48 ] >>726 source.で作成したので厭です。
732 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:02:19 ] 何でお前らそんなに喧嘩腰なの^^
733 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:03:30 ] ?
734 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:05:25 ] >>708 >猫でもわかるC言語プログラミング これは糞、ほかのをおすすめします
735 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:06:23 ] >>726 『続』 !(Φ_Φ+) あ、number.を間違えてしまいました、失礼。
736 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:06:37 ] さぁ、みんなで八進法の文字コード対応表を表示させようじょのいこ! #include <stdio.h> int main(void) { int i,cnt; for(i=32,cnt=0; i<127; i++,cnt++) { printf("%c : %3d",i,i); if(cnt%6==5) printf("\n"); else printf(" | "); } printf("\n\n魅惑の八進法!\n"); for(i=32,cnt=0; i<127; i++,cnt++) { printf("%c : %3o",i,i); if(cnt%6==5) printf("\n"); else printf(" | "); } return 0; }
737 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:06:52 ] んじゃこないだ見かけた望洋のアレ
738 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:08:59 ] あっ、すまん、これも追加しといて printf("\n\n平凡な十六進法!\n"); for(i=32,cnt=0; i<127; i++,cnt++) { printf("%c : %X",i,i); if(cnt%6==5) printf("\n"); else printf(" | "); }
739 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:11:20 ] ( ´ω`)
740 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:11:24 ] 微笑ましいけど鬱陶しいなあw
741 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:12:29 ] 天災と思って諦めてる
742 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:13:02 ] 天才に向かって失礼な、めっ、めっめっ(猫をしかりつけるように)
743 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:17:53 ] カス
744 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:18:01 ] ハゲ
745 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:26:25 ] ナルはナルシストのナルさぁ〜、決して成瀬川なるのなるではない。
746 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:26:33 ] (´ω`)
747 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:30:52 ] なんか変な方向に行ってるみたいだな。 1. ヌル文字の値が '\0' なのは規格で決まってる。 2. \0 という特別なエスケープシーケンスは規格で用意されておらず、 これは 8 進数の値を直接埋め込むエスケープシーケンスでしかないので、 '\0' の値はどの環境でも厳密に 0 になる。 (そもそもそんな特別なエスケープシーケンスを用意してしまったら、 8 進数で 0 を埋め込むことが不可能になってしまう) これでいいだろ、もう。
748 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:35:06 ] >>747 だからぁ、NULL文字もちゃんとデータとして存在しているから 文字の終端を示す\0が入っているアドレスもちゃんと存在しているって話なんだが? 規格がどうとかじゃなくて、空文字でNULLが扱われていてもちゃんと文字データとして 存在して実態があるからNULLポインタの示す場所と勝手に解釈するなって話ナノーメートル
749 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:36:40 ] アドレスがあるのは当たり前だろ。
750 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:37:54 ] !(Φ_Φ+) 頑張っていますね? source.を書きたい、のですが、 original.なのでとって置きます。
751 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:39:07 ] あと、NULLポインタが示すオブジェクトに対してデータを表示させようとかするのは どうも過去ログからしてタブーっぽい。指し示す場所がないゆえに、環境によっては (null)とご丁寧に表示してくれているが、実体がないから何も表示できないのが当たり前だし。
752 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:42:19 ] >>748 うーん、「NULL」が出てきたら脳内で「NULLポインタ」に置換しちゃう人? >>747 は全くNULLポインタについて言及してないよ。 だけどまあ、NULL文字ってのは誤解しやすいような気もするから、 終端文字と表現するのがいいんじゃねえのかなあ。
753 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:44:13 ] NULL ポインタは参照しちゃいけない。 「あらゆる有効なアドレスと比較しても等しくならない」のが NULL ポインタの定義だから。 ただ、NULL 渡して表示させるという場合、 内部でポインタが NULL ならこれを表示・・・という分岐があるのなら問題ない。 参照してないから。
754 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:44:21 ] 彼は自分の知らないことに話が展開していくのを怖がってるんですよ
755 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:45:04 ] おまいらほんっとにナルちゃんが好きなんだね ♥
756 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:45:50 ] NULL 文字という表記は良くない。 NULL はヌルポインタを表すマクロ名を表すから、紛らわしい。 null 文字という風に小文字で書くならいい。
757 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:45:50 ] >>749 いや、だからそれを勘違いしたのが >>580 なんだが、お前いい加減にしろ? 何歳だ?ゆとり教育世代か?寝ろやボケガキ
758 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:46:38 ] >>580 みたいな無茶苦茶なのは、既に訂正するとかそういうレベルじゃないな。
759 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:46:39 ] >>754 はいはい、すでに話がわかっているという証拠のソースも何度も提示しているのに それすら自分の思い込みや勘違いで否定しているお前が論破されるのが怖くて 何も筋の通った意見がいえなくておびえているのはお前だろ?
760 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:46:51 ] 表記の問題じゃない
761 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:47:37 ] 怖がりすぎ
762 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:49:02 ] 「彼」って自分の事だと思ったの? 自覚してんのだなぁ。
763 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:49:15 ] >>752 > >>747 は全くNULLポインタについて言及してないよ。 いや、モロ最初の項目で > 1. ヌル文字の値が '\0' なのは規格で決まってる。 言及してんじゃん。だから、NULL文字の値が\0とか話ではないが 値は \0 ではなく 0 だが?それすら間違ってんじゃん。 あくまでもエスケープシーケンス、 printf(""); の " " の中で使うときとかで用いられる \n \t のように \ がついたものは値じゃないんだが?w
764 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:50:55 ] んで、ことの本質は >>580 にある \0 あるいは NULL文字データが入っているところにも ちゃんとアドレスが文字列の終わりに続いて割り振られているって説明に、なぁ〜〜に ごちゃごちゃとわけのわからない言い掛かりをしてきているんだね?って言っているんだが? いや、もうええわ。八進法とかわけのわからん話を絡めるし、気持ち悪いぜ?
765 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:53:08 ] >>763 だからそこのどこにNULLポインタが出てくるの?
766 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:53:16 ] NULL ヌルポインタを表す単なるマクロ。 C では 0 あるいは ((void*)0) と定義される。 '\0' ヌル文字。値の全てのビットが厳密に 0 となると規格で決められている。 この表記の場合、型は C では int 、C++ では char 。 0 数値の 0 でもあり、ヌルポインタでもある。 型は int ではあるが、値 0 になる定数式がポインタに代入された場合、 あるいはポインタと比較された場合は、ヌルポインタと解釈される。 その場合、その値のビットが全て 0 になるという保証はない。
767 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:53:19 ] 日本語でおk
768 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:54:30 ] > 1. ヌル文字の値が '\0' なのは規格で決まってる。 全くNULLポインタには言及してないんだよ。
769 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:55:13 ] ヌル文字とヌルポインタは全くの別物ってのが分かってないのかねえ。
770 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:56:34 ] >>763 分かってない奴がでしゃばるな
771 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:58:03 ] あたいのこと、舐めたらいかんぜよ。 ちなみに \a \n \t \0 だのは文字であって値ではありませんので、あしからず。 それらを示す文字コードは値といってもまぁ差し支えないかもしれんけどね。 んじゃ、レベルの低い知ったかを相手にするのもここらでやめておいてやるわ。 まったく、本当に理解力のないどうしようもないやつっているんだなw だからこの世はいつまでも頭の悪い奴が立場が悪くなってファビョって自暴自棄になるんだなw
772 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:59:23 ] >771 自己紹介乙
773 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:59:46 ] C++ の規格票(しかも 1998 年のドラフト)ですまんが、 null character (respectively, null wide character), whose representation has all zero bits. ヌル文字(あるいはヌルワイド文字)、これは全てのビットが 0 の表現をとる。 >>771 \0 は文字だが '\0' は値だぞ。
774 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:00:23 ] ということで NULL文字をNULLポインタと思いこんで延々暴れたバカがいた ということでよいかな。まあ紛らわしいからその分は差し引いてあげるけどさ。
775 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:01:15 ] >>774 よい
776 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:02:17 ] ttp://ratan.dyndns.info/MicrosoftVisualC++/eskape.html \がついたものはここでも説明されているように「文字」であって値には該当せず。 いわゆる制御文字ゆえに表示される文字とは別扱いだが それらにも「文字コード」が割り振られている。その文字コードを char型のデータに入れることで扱っているのだが、そこまで理解できないかなぁ 理解力のないお○カちん達ってw だからNULL文字に対応するコードが0であって、\0は値じゃなくてNULL文字と言うべき。
777 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:03:07 ] >>772 もうその程度のことでしか反論できないでしょ?おまえどこの学校出身だ? まぁ、ランクE未満の大学でもなく大学未満なんでしょうね。 派遣のお仕事がんばってねぇ〜〜 ♣
778 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:03:25 ] >>747 で \0 と '\0' を使い分けてるのが理解できないんだろうか。
779 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:04:19 ] 「NULL文字」なんて腐った表記をする奴にロクな奴はいない。 null文字と書け。
780 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:05:45 ] >>765 >>580 の > ¥0 =値0 、アドレス無し 参照。ちなみに\0(NULL文字、空文字)に割り当てられているコードは0だが \0自身は値ではなく「文字」ですから。
781 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:06:48 ] \0が値だなんて誰か言ってたっけ
782 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:08:18 ] まあ、'\0' も値が 0 になる整定数式だから ヌルポインタとして扱おうと思えば扱えるけどね。 紛らわしいから絶対やっちゃいけないが。
783 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:09:01 ] >>580 がクソなのは既に誰もが認めている終わった話題だ。
784 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:09:57 ] 580・・・ 誰かがこんなのを擁護してるとでも思ったのかな
785 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:10:38 ] 必死に無意味な説明をしようとした奴がボロ出しまくりでワロスwwww なんだよ、\0が値とか言っちゃっているやつ?あたいにそんな小細工 通用しないかんねぇ〜(スケバン恐子風に) エスケープシーケンスは文字であって値ではない、これ定説。 ライフスペースでも定説。オウムには破防法(意味不明)
786 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:10:53 ] int *p = 2 - 4 + 2; これもヌルポインタ。
787 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:13:55 ] >>747 1. ヌル文字の値が '\0' なのは規格 ^^^^^^^^^^^^ 対応コードが0ではあるが、NULL文字は値ではなく文字ってことな・ん・だ・が? 文字って値なんだぁ。それじゃぁ、char a[10]; a[0]='a';ってaって文字を入れるとき 値にAが入っちゃうのぉ〜〜?もはや値に有らず。 a[0]='\0';で空文字を入れることはあるけど、値で入れるなら '' とかつけずに 対応している文字コードを入れたらええんでな〜〜い?
788 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:14:12 ] >>785 ヌル文字とヌルポインタは別物ってことはわかったの?
789 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:17:09 ] 自分の意味不明な筋の通らない理論を押し切ろうと、もう必死で 相手の筋の通った理論を屁理屈で解釈してつつこうと必死でしょ? そんなんだから物事の本質が霞んでしまうんだよ。 路上を見てみろ?道路交通法をまともに守っている奴がいない、破っている奴らばかり だから自分もそうする?それじゃ自分 も 道路交通法を理解していないと 道路交通法を知っている人に対して思われているだけだと気づくんだな。 警察の前じゃ違反は違反だぜ?キップ切られるぜ?免許傷つくぜ? 俺はまだ違反点数の累積は0だ。けど、違反点数も俺の免許もNULLじゃないぜ?
790 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:17:50 ] もうぬるぽ('A`)
791 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:17:52 ] 「値が'\0'」と書いてあるんであって「値が\0」とは書いてないんだよ。
792 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:18:27 ] >>788 あたりまえじゃん、っつーかそれをず〜〜〜っと昨日の>>580 に対して言い続けてきたんだが?w 俺が理解していないと思ってんの?何回文字列の終端を示すNULL文字自身が入ったデータの アドレスが存在していて、文字列の後ろの終端を示す部分がNULLポインタになっていないと説明したら わかるんだと?鬱陶しいなぁ・・・
793 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:18:48 ] なるほど。そこにつっこんでたのか。 「ヌル文字の値」は「ヌル文字の文字コード」の意味だが、 確かに紛らわしい表現ではあったな。 でも、それを言うなら、 >char a[10]; a[0]='a';ってaって文字を入れるとき ~~~~~~~~~~~~~~~~~~~~~~ >a[0]='\0';で空文字を入れることはあるけど、 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ もおかしいな。 「aの文字コードを入れるとき」、 「空文字の文字コードを入れることはあるけど」だな。
794 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:19:43 ] >>791 だから \0 は値じゃなくて 文字 だっつってんだろ・・・説明だって出てんだろ。 その文字、NULL文字に該当する対応コードが 0 だっつってんの。 対応コードは \0 か? \0 って何進法?w
795 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:20:24 ] >>792 763 名前:デフォルトの名無しさん [sage] :2007/05/15(火) 03:49:15 >>752 > >>747 は全くNULLポインタについて言及してないよ。 いや、モロ最初の項目で > 1. ヌル文字の値が '\0' なのは規格で決まってる。 言及してんじゃん。
796 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:21:28 ] >>794 \0 は文字だけど '\0' は文字リテラルで値だろ!!! 何度言ったら分かるんだ!!!
797 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:22:38 ] >>793 お前が >>736 の出力結果を理解していないことがわかった。もう黙ってろ。 文字型の変数に文字でなくても直接文字コードを入れても使えることが理解できてないんだな。 通りで話がわからないわけだw なんか、俺がNULLポインタとデータの違いがわかってないみたいないわれ方しているが さっきっから俺に対して曲解した考えで論破しようと必死こいている奴の方が 曲解しているだけあって理解していないのがバレてんだが・・・なんだよ \0 が値って? あたいにはそんなの通用しないかんね!
798 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:23:04 ] \0は値じゃない。 '\0'は値。
799 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:23:39 ] この流れなら言える!お前ら全員ぬるぽ!(寝るぽ!)
800 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:23:57 ] 何というか日本語がこれほど通じないのは、もはや釣りだとしか思えない。
801 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:25:44 ] >>797 C に「文字型」なんてありません。
802 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:26:02 ] クォーテーションで括ってるか括ってないかの違いがまだわかってないな
803 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:26:21 ] 779 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 04:04:19 「NULL文字」なんて腐った表記をする奴にロクな奴はいない。 null文字と書け。 ↑こういうことしかいえなくなっているら。しかもこれは自分基準w こういうのが鬱陶しいんだよな。だから何?としか言われない 間違いではないことを気にいらねーって罵倒してくる奴。 お前何様だよ?デジタル世界の王者か?欧米か!? てめぇ基準なんてどうでも良い。検索してどっちが多く使われているか調べてから出直せw
804 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:27:12 ] 紛らわしいのにわざわざ大文字で書く理由が知りたい。
805 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:29:59 ] >>773 値って言うならちゃんと演算子使って演算できんだろうな? その\0(空文字)をどうやって演算すんだ? 文字データとしては表示すらされないってのにw 文字同士の計算でもあるの?Aを文字と扱うか16進数として値を10として扱うかでは大違いだろ それすら理解していないなんて、どこの大学出身だ?あっ、大学未満か
806 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:30:55 ] \0は値じゃないって言ってるでしょ
807 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:32:40 ] 本気で言ってるのか??? str[i] != '\0' は演算だろ? そして printf("%d\n", '\0' + 3); がエラーにでもなると思ってるのか?
808 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:33:36 ] なんで'\0'を勝手に\0に置き換えるかな。
809 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:35:06 ] どう見ても釣りです。 本当にありがとうございました。
810 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:37:07 ] 結論出しておくわ。これは捻じ曲げようとしても無理。 \n \a \t \b \0 それらは文字であって値ではない。とりわけ制御文字といわれるものであって 値のように演算は不可能。 ttp://ratan.dyndns.info/MicrosoftVisualC++/eskape.html でも説明されているように、文字(制御文字)であってそれらにも文字コードが割り振られていて その文字コードなら割り振られているという事実を踏まえて、その文字の値として扱うことは可能。 ttp://www.psl.ne.jp/perl/pdojo00b.html たとえば、AはASCIIコードでは16進数にて41(10進法では65)と指定されていて コードに1を足すことによって66にした場合、その文字コードを参照して表示される文字は ちゃんとBになるってのは >>736 を実行すりゃ一目瞭然。 実証、検証されているのにつまらない屁理屈を言う奴、だめぽ。
811 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:38:16 ] >>808 もうその程度でしか言い返せないんだね。どちらも値じゃないんだが?w 値は\0よって、スケバン風に言ってなさいってこったでパンナコッタ。
812 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:38:47 ] >もうその程度でしか言い返せないんだね。どちらも値じゃないんだが?w もうオワタ\(^o^)/
813 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:39:40 ] また、Bという文字に1を足すなんておかしい。文字コードに対してならおk。 Bに1を足すなんて、環境によっては文字列の追加として B1 と解釈されかねんよ。
814 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:40:29 ] >>811 本気で分かってねえな・・・。 呆れてものも言えん。
815 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:42:23 ] だめだこいつ
816 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:42:28 ] 最後まで自分の理解する頭のないことを露呈しつつ粘着乙。お前だけだよ、こんなところで 朝まで居残りしているのは。
817 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:45:46 ] 全くだ
818 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:48:26 ] っと、最後までこんなスレで自分の間違いを必死こいて間違いじゃなかったことにしようと ここでレスしている人に対して噛み付いてくるメガネデヴピッツァですた(・∀・)
819 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:49:14 ] ?
820 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:49:43 ] もう放っとけ。
821 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:50:10 ] うん
822 名前:デフォルトの名無しさん [2007/05/15(火) 04:50:33 ] \0は値じゃなくて文字だよぉ〜〜、対応コードは0で値として扱えるけどな、ケケケw
823 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:07:05 ] pc11.2ch.net/test/read.cgi/tech/1179025919/66 おーい、ちょうど良いや、ここでふぁびょ〜んなお前ら、これに答えてやれよw
824 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:13:38 ] >>814 '\0'でもこれは制御文字であって値にあらず。何が言いたいかはっきりしろよ? このスレってやっぱ分かってねーとかそことなく揺さぶるけど、結局 自分の意見を言わずに逃げるチキンが多いよな。この前もそう。 お前分かってないなみたいなことを言ったが、答えは fgets の中の文字数の指定に 255 と入力ミスをしたのをネチネチ陰湿にあおってきただけで、そいつ自身は fgetsの使い方についてろくに答えず。入力ミスしたやつは間違いにしろ 参考にできるページを参照してたが、このスレのタイトルを理解しておらず 答える気がないくせに相手にだけくだらねぇ間違いを指摘する程度でここにいるなら 出て行った方がよくね?何、自分にとってイラつくものを見て気分を害したんだよ!みたいな 不満をわざわざいい掛かってくるのか、さっぱりわからねぇ。こんなところにいるくらいなら 車軸の壊れそうなジェットコースターにでも乗ったら?
825 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:26:00 ] char a; に対して a=0; a='\0'; はおkだが、前者は0という値、後者は明らかに文字データゆえに \0は文字ではあるが値じゃないんだが、それすら理解していないのはどっちだぁ〜〜い? NULLはWikiにも記録されているが、ゼロと区別するためのドイツ語で0を意味するnullを用いて 何もないを意味するが、null文字は表示される文字も何もない文字として扱われていて 割り当てられている文字コードは0だが文字そのものはアルファベットも数”字”も含めて 文字であって”値”ではない。\0 およびその他制御文字は表示されないけど文字であって 値ではない。あたいも値ではない。
826 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:27:21 ] ようやく分かった。お前が何が分かってないかが。 char 型というのは CHAR_MIN〜CHAR_MAX の値を入れることの出来る整数型であって、 C には「文字型」なんて型はないんだよ。
827 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:28:20 ] 値だっていうなら a=\0; をやればいいさ。コンパイルエラー起こすけどな、ケケケ 誰かさん、敢えて\0と'\0'のシングルクォートを強調したが、それをつけてんなら なおさら値じゃなくて文字データだよなぁ。まさか、値にわざわざ''をつけて代入してんのかーい?
828 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:30:20 ] 入れることの出来る、じゃないな。 表現することの出来る、だ。
829 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:31:05 ] わかんねーなら調べろだの、調べてないだのを指摘するくらいなら 調べられる参考文献を参照しろってーの。ろくにそういうのも出さずに ただ自分が思った(間違った)理論を提唱されても、お前が決めた仕様でも規格でも ルールでもないだろって話で流されるよ。本来の基本概要を理解している、知っている人には うそは通用しない。\0は制御文字であって値じゃない。あたいでもそんなことは分かっている。 勝手にありもしないことを定義しないでくれ。\0を文字コードで参照するなら0なら分かるし 文字データとして入れるのに '\0' で指定するなら分かるが、値じゃない。文字だ。 いつまでもモジモジしてんじゃねーぞ。
830 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:35:41 ] C の規格票読め。 読むだけならタダだ。
831 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:38:34 ] くどいようだが、すでに俺は証明、提示をした。制御文字は値ではなく 文字データ。文字コードによって割り当てられている文字データ。 その文字コードがあっても、コードに対応した文字データがなければ 文字コードを使ってもナンセンス。\0は便宜上使われている文字であって これは値ではない。そして本来は表示されない制御文字も、便宜上 使えるようにと割り当てられている代用の文字があるだけであって \a \n \t そのものは値ではなく制御 文 字 であーる。 そんなの当たり前なのに、なーーにが値だ、あたいにはそんな屁理屈、通用しないかんね。
832 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:40:08 ] \0 はエスケープシーケンスで''か""の中に出てこないと意味がない。
833 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:43:31 ] \0は代用で用いられている文字であって値ではない。値じゃない。 値に対しても定義が曖昧だが、みたまんま、\0 \a \t \n は制御文字として 代用で使われているものであり、数値ではない。数字だって場合によっては 数値ではなく数字(数の文字)として扱われるが、その数の文字に対してだって 文字コードが割り当てられているけど、数字のまんまの数値で文字コードは割り当てられて いないのは、ASCIIコードの対応表を出漁するプログラムで一目瞭然。 そう、単に文字コードが割り当てられているんであって、文字そのものは 値じゃ〜〜ないんだよ。制御文字として代用されたものだけ特別扱いで値になっちゃうの? それじゃ、アルファベットや数字も値?値じゃ〜ねぇなぁ、文字データは演算できんよ。 割り当てられた文字コードを数値として演算することは出来るけどな。 たとえばAに割り当てられている文字コード1を足してBにすることが出来るというのは 説明済み。だけど、Bに1を足すのは不可能。文字の結合として B1 としちゃう 環境や言語は存在するから、要注意。文字は文字データであって値にあらず、これ当たり前。
834 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:44:23 ] #include <stdio.h> int main() { int a = 1; a = '\0'; printf("%d", a); return 0; }
835 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:44:57 ] 長文になったが、制御文字の代用の \0 は値じゃなくて文字。モジモジ君だって それくらい知ってるよ?割り当てられている文字コードと文字データをごっちゃにしないよう 今後は注意しましょうね♪ さっ、これにこりたらこんなところにいないで とっととジェットコースターにでも乗って来い。頭がスカッとすっぜ?
836 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:54:03 ] というかCでいう文字とは整数の一種でつまりは値なんだが。 と今更こんなことを言ってみるが、みんな寝ちゃったかなw
837 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 05:56:04 ] 文字定数
838 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:02:23 ] 眠いから寝る
839 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:11:24 ] 朝までやってたのか!
840 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:20:18 ] ___ 見えませ〜ん ‖ | ∨ ‖現実 ∧_∧ .ヘ∧ ‖ \ ( ・∀・) (゚A●) || ̄ ̄⊂ ) ( と) 凵 し`J U U ___ 読めませ〜ん ‖ | ∨ ‖空気 ∧_∧ .ヘ∧ ‖ \ ( ・∀・) (゚A●) || ̄ ̄⊂ ) ( と) 凵 し`J U U ___ 知りませ〜ん ‖ | ∨ ‖常識 ∧_∧ .ヘ∧ ‖ \ ( ・∀・) (゚A●) || ̄ ̄⊂ ) ( と) 凵 し`J U U ___ ありませ〜ん ‖ | ∨ ‖未来 ∧_∧ .ヘ∧ ‖ \ ( ・∀・) (゚A●) || ̄ ̄⊂ ) ( と) 凵 し`J U U
841 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:20:28 ] 何やってんだお前ら?
842 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:24:22 ] 子供同士でサンタは居るか居ないかで喧嘩してたようです。
843 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:41:30 ] C 規格票より www.jisc.go.jp/app/JPS/JPSO0020.html JIS X3010 を検索 3.7.1 文字、1バイト文字 <プログラミング言語Cでの意味> 1バイトに納まるビット表現 5.2.1 文字集合 (略) すべてのビットが 0 であるバイトをナル文字という。 (略) 6.4.4.4 文字定数 構文規則 文字定数: 'c文字列' L'c文字列' (略) 単純文字定数は、型 int をもつ。 1 バイトの実行文字に対応する単一の文字を含む単純文字定数の値は、 対応付けた文字の表現を整数として解釈した数値とする。 2 文字以上を含む(例えば 'ab')又は 1 バイトの実行文字で表現できない文字 若しくは逆斜線表記を含む単純文字定数の値は、処理系定義とする。 単純文字定数が単一の文字又は逆斜線表記を含む場合、 その値はその単一の文字又は逆斜線表記の値を持つ char 型のオブジェクトを int 型に変換したときの結果とする。 (略) 例 1. 普通、ナル文字を表すために表現 '\0' を使う。 (略)
844 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:50:52 ] 文字は値だな。
845 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:52:31 ] だめだこいつ、制御文字は表示できる文字データじゃないから 便宜上代用されている\0 \a \n \tがあってもそれを値だと思っているよw 文字と値の違いが分からないからって、プログラムが出来ないわけじゃないから 安心しろ。だけどお前の頭じゃ限界が見えているから、言語の使用とか 電子計算機の仕組みにかかわらず大学で受ける授業にはついていけないだろうから 低学歴のまま人生を諦めろ。まぁ、学歴が高くなくても成功する人も稀にいるから 努力は怠らないこったね。つまらないことに労を費やしているうちに、老いていくし 元気もなくなるから、早いところ人生の積み重ねを始めておけ。 間違っても間違いを押し切ることはするな。\0 が値に見えるなら目じゃなくて頭が どうかしているよ。
846 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:54:17 ] 規格表を見る限り、\0 \a \n \t は「c文字」であって「文字」ではない。
847 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:54:40 ] >>844 ダウト。文字データそのものは電子計算機はもってないんだよ。 人間が文字として認識する形を示すものを、文字コードで対応させて 参照しているのが分からないみたいだね。所詮、大学未満の考える つまらない浅はかな考えだな。大学で普通に習うから、まだ受験するチャンスがあるなら がんばって大学に行きな。基本的には入学に年齢制限はないから。60過ぎても入学する人もいるし。
848 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:55:00 ] ×規格表 ○規格票
849 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:55:50 ] >>847 脳内定義はどうでもいいから >>843 の規格票を読め。
850 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:56:12 ] >>846 制御文字の代用で使われている文字だと言っているんだが? どう見ても値じゃなくて円マーク+文字の組み合わせの文字だろ。 いい加減馬鹿は市ねよ。うぜぇよ。値に対する概念もない馬鹿が
851 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:57:48 ] >>850 規格票の 6.4.4.4 文字定数を 100 回読んでこい。 「逆斜線表記」は「c文字」だ。
852 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 06:59:01 ] >>849 いや、脳内じゃなくて書かれているまんま述べただけだが? お前こそ理解しろよwwww > 例 1. 普通、ナル文字を表すために表現 '\0' を使う。 はい、自分で爆弾抱えたまま爆発させて自爆しちゃいましたね。 決定的な証拠。表現を使うであって値とは掛かれていません。 ちなみに、null文字のコードが0に割り当てられているのは事実だが これは人間が決めたことであってもともと電子計算機がそれをそうだという 仕組みを持っていたわけじゃないんだよ。文字そのものが数値じゃないんだから。 いい加減、文字が人間が作ったものだと気づいてね。計算機がやっているのは あくまでも0と1の組み合わせの演算。そのデータから文字データを参照して 表示する際に文字コードを使ってんだよ。大学レベルだから、専門学校以下は黙っててね。
853 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:00:10 ] >>851 ええ、だからお前もしつこいなぁ。理解力のない馬鹿は失せろ。 俺がまず否定しているいのは \0 が値ということ。値じゃなくて どこをどう見ても文字。お前はそれを敢えて c文字だと言ってるしw 値じゃなくて文字、それについては俺がすでに述べてるんだが? ボケは市ねよ、低学歴w
854 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:00:50 ] \0 は c文字。 '\0' は文字定数で値。
855 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:01:53 ] >>854 残念ながら制御文字であって \0 は便宜上表示できない制御文字の代用で 使っている文字だ。値ではない。値について理解していない馬鹿は失せろwwww
856 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:02:30 ] >>855 規格票の 6.4.4.4 文字定数を 100 回読んでこい。 あ、構文規則の読み方も分からない低学歴なのか?
857 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:05:26 ] こういう話題であげあしの取り合いになるのは宿命なのか
858 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:05:59 ] > 例 1. 普通、ナル文字を表すために表現 '\0' を使う。 くどいようだが自分で墓穴を掘ってそのままあの世へ行け。 二度と人間界に戻ってくるな。これが読めないなら日本語を勉強してから出直せ。 そこにある \0 は紛れもなく \ と 0 を並べたそれぞれが文字であり、組み合わせて値としたものではない。 これ以上理解できない曲解しかしないやつは放置するね。 値じゃないのは事実。文字コードは便宜上人間が割り当てたもので Aそのものが値を持つとかないから。AはA。人間が作った文字コード表に 電子計算機が持つ基本の数値を割り当てただけだから。
859 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:06:37 ] とうとう規格票に文句付け出したよwwwwwwwwwwwwwwwwwwwwwwww
860 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:07:19 ] 盛り上がっていいじゃない
861 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:07:32 ] >すべてのビットが 0 であるバイトをナル文字という。 これが見えないのか?
862 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:07:39 ] char a=0; の a を %c で表示すると、というか表示はされないが空文字が参照される。 a='\0'; とした場合、明らかに文字データを使っているんであって a=0; のような値は使われていない。ちゃんと文字データと値の違いを理解しましょーね 大学未満w
863 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:10:03 ] >単純文字定数は、型 int をもつ。 >1 バイトの実行文字に対応する単一の文字を含む単純文字定数の値は、 >対応付けた文字の表現を整数として解釈した数値とする。 これも読めないのかな。
864 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:10:53 ] 誰かさんは制御文字の代用で使われている \ と 0 という2つの文字をくっつけると 値になっちゃうらしいよ?w どこをどう見ても \ も 0 もつなげても \0 という 文字 です ありがとうございました。文字と値の違いが分からない痛い子は以後放置よろ。
865 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:11:16 ] #include <stdio.h> int main() { char a = '\0'; printf("%s", a == 0 ? "'\\0' == 0" : ""); return 0; }
866 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:12:24 ] \0 は値じゃないと何度言えば分かるのか。
867 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:13:29 ] 規格票をまともに読めないキチガイを相手にしても無駄だな。
868 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:13:55 ] c文字c文字うっせーよボケ。俺は値じゃなくて\0も文字だっつってんだよw 文字と値の違いも分からない弱い頭ってやーね、こいつぜってー最後は犯罪者になってんな 理解力がないのが自分だと気づいていない、判断力を失った麻薬中毒者のごとく
869 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:14:54 ] まだやってたのか?
870 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:16:49 ] 引き際を失ったんだろうな・・・可哀想に。
871 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:17:06 ] んでよぉ、本質はそんなことじゃないんだよ。null文字が入った場所にも ちゃんとそのnull文字の文字コードが入ったデータを示すアドレスが入っているんであって >>580 がいう値0なのにアドレスなしってのが間違いって話なんだが? 何ここまで複雑に話をこじらせちゃってんだろうねw これだから理解力のないやつは、何か相手の知ってなさそうなことを持ち出して 揺さぶろうとするんだけど、自分の理解力のなさが露呈されて墓穴を掘るんだよねw
872 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:18:05 ] いつの間にかnull文字のnullが小文字になっててワロタw
873 名前:本日の自作自演擁護厨 mailto:sage [2007/05/15(火) 07:18:34 ] 844 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 06:50:52 文字は値だな。 846 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 06:54:17 規格表を見る限り、\0 \a \n \t は「c文字」であって「文字」ではない。 「c文字」であって「文字」ではない。 「c文字」であって「文字」ではない。 「c文字」であって「文字」ではない。 「c文字」であって「文字」ではない。 「c文字」であって「文字」ではない。 「c文字」であって「文字」ではない。 ちゃんと自分で文字と言っているのに文字じゃないとか言い出す大ボケかますしw
874 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:18:56 ] >>580 の話はもうとっくに終わってるんだが・・・。
875 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:19:47 ] C の規格では「文字」はビット列、すなわち数値であると規定されています。 >3.7.1 文字、1バイト文字 ><プログラミング言語Cでの意味> 1バイトに納まるビット表現
876 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:19:52 ] 580が\0と書いたのが気にくわないんじゃないの。 ちゃんと'\0'と書け、と。 (でも、そうすると、854,855の対応が気になるわけだけど)
877 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:19:58 ] まだやってたのか そんな暇あるならバイトでもしろよ
878 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:20:46 ] テレビ見ながらついでで相手してるだけだからどうでもいい。
879 名前:デフォルトの名無しさん [2007/05/15(火) 07:22:22 ] >>843 って結局 JIS 規格の話だろ?逆斜線ってのは、大学の授業で聞いたことあるけど 日本じゃもともと存在していなかったんで、¥(円マーク)をバックスラッシュの代用で 使ったって話で、それについて制御文字の表現を \ を前に用いる規格があるって話で >>843 は文字が値とかって話じゃなくて、制御文字を日本では \ との組み合わせで 使われているって話でしょ?何勘違いして直接関係ない文献を勘違いしたという 意味の分からん説明をしているのか、理解不能だわ。 > 例 1. 普通、ナル文字を表すために表現 '\0' を使う。 これについてはあくまでも表現の仕方であって、値として使っているって話じゃないよ。 JIS規格におけるバックスラッシュの代用が \ って話だろw
880 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:25:56 ] よくこんな釣りを思いつくよなあ。尊敬するぜ。
881 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:28:11 ] \ がバックスラッシュで表示される環境で見てるものとして脳内変換しろよ。
882 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:28:38 ] (´ω`)
883 名前:デフォルトの名無しさん [2007/05/15(火) 07:31:13 ] ttp://okuyama.mt.tama.hosei.ac.jp/unix/C/slide19-1.html でも書かれているけど、明らかに '\0' をナル文字といって値とは言っていない 敢えて値というならそれは 0。\0 でなくて敢えて '\0' というならなおさらそれ自身は値じゃなくて なる文字。文字がなんなのか、どのように制御されているのか分からない馬鹿って困るな。 大学レベルじゃまずついていけない頭の持ち主か。何JIS規格のバックスラッシュの 代用について話をしてんねん、ボケが
884 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:31:46 ] ちょっと哀れに思えてきたねw
885 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:32:16 ] それは、5.2.1参考 「この規格で規定する基本文字集合の中の二つの要素 \と〜は、JIS X 0201では、それぞれ¥(円記号)と  ̄(オーバーライン)に置き換える」 で既出なんだな
886 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:32:24 ] バックスラッシュの代用の話なんて規格票に何も書かれていないんだが。 規格票読んでないのバレバレ。
887 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:34:02 ] とうとうISO646にまでケチをつけるまで来たのか?
888 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:34:08 ] >>886 は >>843 のレスの部分に、ということね。
889 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:35:54 ] >883 文字定数が('A'とか'B'とか'\0'とか)が値を持たないといいたいわけ?
890 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:37:17 ] 「値」という言葉の定義すら怪しいな。 数値以外は値じゃねー、と考えてそうだ。
891 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:39:25 ] #include <stdio.h> #define TEST '\0' int main() { printf("%d", TEST); return 0; }
892 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:39:59 ] もうここまで来ると理屈抜きで全面的に賛同して輪廻から解放してあげたいのだが こだわっているポイントがイマイチ分からない
893 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:41:29 ] 暇な時に適当に遊んであげれば良いと思うよ。
894 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:42:08 ] void main() gets() NULL \0 他になんかあったっけ?
895 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:42:24 ] >>894 fflush(stdin);
896 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:42:29 ] でもそういうスレじゃないしな多分
897 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:42:59 ] こいつの脳内計算機では「値」ってのと文字とが区別されてるんだよ、きっと。 メモリにタグビットかなんかがついてて。
898 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:44:51 ] ttp://okuyama.mt.tama.hosei.ac.jp/unix/C/slide19-1.html > 次は,エスケープ文字です。 > \a ビープ音(警報) 略 > # [例1]'\0':ナル文字 > # [例2]'\x00':ナル文字 エスケープ”文字”です。おまけにシングルクォートつきで '\0' ナル”文字” どこにも値なんて書かれていましぇ〜〜〜ん。'\0'と敢えて表記するなら なおさらナル”文字”であって値じゃありましぇ〜〜〜ん。そして 僕は死にましぇ〜〜ん、C言語あるから!
899 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:44:58 ] >894 malloc&freeを忘れてもらっては困るな
900 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:45:19 ] こういう奴は議論してる最中は絶対に認めないけど、 数日経つと「そんなの当たり前じゃないか」とか言い始めるタイプ。
901 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:46:20 ] >>898 >>875
902 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:46:26 ] >>897 お前の低レベルな頭じゃ文字と値の違いがなくて、数字の0として扱われている0も 値の0なんだろうねwwww 文字と値の違いが分かってないから、数字が入ったとき 数値との区別がついてねーようだな。お前、文字と数字の入り混じったデータを 扱ったこともない素人だろw
903 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:46:56 ] おまえら夜通しやってたのか?
904 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:47:26 ] このスレはかまってくれる人が多いね。 宿題スレじゃもう誰も相手しなくなったのに。
905 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:47:45 ] 面白いオモチャだからいじってみた。
906 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:48:30 ] >>901 いや、モロニ表現って書いてあるやん。ところでさぁ、話をそらすなよ。 きゃつは敢えてシングルクォートをつけて '\0' を値といったんだぞ?w JIS規格じゃもろにそれをなる文字の表現とされているんだが?w お前の場合、Aも値とか言いそうで怖いわ。Aは16進数では確かに値として 扱われることもあるが、文字と値をごっちゃにしてたら、Fまで値になって E以降が文字になってそうだなw
907 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:51:55 ] 〃∩ ∧_∧ ⊂⌒( ・ω・) はいはいそのとおりそのとおり `ヽ_っ⌒/⌒c ⌒ ⌒
908 名前:JIS規格の逆斜線の話を持ち出した大ボケの最初の定義 mailto:sage [2007/05/15(火) 07:53:22 ] 747 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 03:30:52 なんか変な方向に行ってるみたいだな。 1. ヌル文字の値が '\0' なのは規格で決まってる。 2. \0 という特別なエスケープシーケンスは規格で用意されておらず、 これは 8 進数の値を直接埋め込むエスケープシーケンスでしかないので、 '\0' の値はどの環境でも厳密に 0 になる。 (そもそもそんな特別なエスケープシーケンスを用意してしまったら、 8 進数で 0 を埋め込むことが不可能になってしまう) これでいいだろ、もう。 1. ヌル文字の値が '\0' なのは規格で決まってる。 ^^^^^^^^^^^^^^^ 表現はJIS規格でそうだが、値とは書かれていない。強いて値というならそれは0。 割り当てられている文字コードが0。あくまでも\にも0も文字、組み合わせてもそれらは 文字列という解釈はされど、C言語ではそれをエスケープシーケンスで使われる 表示できない文字を代用した文字コードが使われているって話であって それらは値ではない。んじゃ、アラートとして使われるアラートの値は'\a'って言うかね? こいつは \ の後ろに 0 があったんで、その数字に目がいってしまい、値と言ってしまったんだろうけど それは0という文字であって値ではないんだよ。んじゃ、\a が値になるんかね? これはどう見ても文字列であって、その組み合わせを代用して表示できない文字をあるように 使っているのさ。それが理解できないから大学未満レベルって言われるんだよw
909 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:53:26 ] #include <stdio.h> char itoc(int i) { if (i >= 0 && i <= 9) return '0' + i; else return '\0'; } int ctoi(char c) { if (c >= '0' && c<= '9') return c - '0'; else return -1; } int main() { int i = 9; char c = '8'; printf("i(char):%c c(int):%d", itoc(i), ctoi(c)); return 0; }
910 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:54:10 ] 「文字として存在するか、数値として存在するか」なら計算機の中ではどちらも数値として存在していて、 「文字として扱うか、数値として扱うか」ならプログラム上での扱いによる
911 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:59:12 ] コンピュータ的には状態として存在しているような気もするが。
912 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:59:29 ] \a ビープ音(警報) \b バック・スペース(後退) \f フィード(書式送り) \n 改行 \r キャリッジ・リターン(復帰) \t 水平タブ \v 垂直タブ \' シングル・クォーテーション ' \" ダブル・クォーテーション " \? ? \\ バックスラッシュ \ さぁ、これらもそれぞれ 改行の値は '\n'、水平タブの値は '\t'って言うかね? 表示できない、エスケープ文字って俺は言うね。そう、それらには表示できる文字が 存在しないから、便宜上代用されているんであって、別にその\との組み合わせが値 って言うものにはなっていないんだよ。強いて値って言うなら、割り当てられている文字コードに 対してなら理解は出来るが。実際のところ、整数型の値として文字コードが格納されているしな。 文字そのものは数値としては存在しておらず、文字コード表から該当する、登録されている文字を 表示させる仕組みがあるんであって、実態は数値なのさ。だから敢えて文字コードを参照する ソースを書いてやったのに、理解していないなんて・・・だめだな。 お前じゃ汎用電子計算機の仕組みについて学ぶのは無理だ。その仕組みの原理にのっとって プログラムだって作られているんだが・・・
913 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:00:24 ] 感じとしてはわかったけど、その「値」はCの規格票で 定義された用語ではないな。
914 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:03:52 ] もちっと 制御 文字について理解しましょーね、大学未満さんw さて、今日は休みだがお前らには付き合ってられん。悔しかったら どこでも良いとは言わないが、施設の整った大学にくらい通って勉強してみろ。 実際にその原理について習う実験や研究をした人間とじゃ格が違うぜ。 もちっと電子計算機の基本原理を理解してから出直せ。 文字データそのものは数値としては存在しないよ。文字だって人間が使っている文字みたく 見えるように視覚的にコンピュータが実装している範囲内の表現能力を用いて構成されてんだから。
915 名前:ここでフレーム投下 mailto:sage [2007/05/15(火) 08:04:14 ] printf("??[foo]??");としたら、期待通りの出力になりませんでした。 期待通りに出力させるにはどうしたらいいでしょう。
916 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:11:06 ] >>912 別にお前のポリシーなんて誰も聞いてないよ
917 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:11:55 ] #include <stdio.h> int main() { char str[] = "abcdefghijk"; for (unsigned int i = 0; str[i] != '\0'; ++i) printf("%p:%x ", str+i, str[i]); return 0; }
918 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:13:58 ] ( ´ω`)
919 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:15:36 ] (´ω`)
920 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:16:42 ] どっかのブログでも書かれてたが、ほんと質問者置いてけぼりで言い争いが続くなw
921 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:17:31 ] こっち見んな
922 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:18:16 ] \0の0が数値に見えちゃったんだろうね。これはその他の\aや\tのごとく 数値ではなく数”字”だから。\の後ろに数値を参照していると思ったんだろうね、可愛そうに。 どう考えてもそれも含めて\と組み合わされた文字列をエスケープ文字として代用しているだけです ありがとうございますた。
923 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:19:10 ] >>920 fj的フレームですらないのが困り物だな。manだの規格書だの読めば済むことをグダグダと・・・
924 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:23:32 ] #include <stdio.h> int main() { int chs[] = {'\a', '\b', '\f', '\n', '\r', '\t', '\v', '\'', '\"', '\?', '\\', '\0' }; for (unsigned int i = 0; chs[i] != '\0'; ++i) printf("%x ", chs[i]); putchar('\n'); int j = 0; while (chs[j] != '\'') ++j; while (chs[j] != '\0') printf("%c ", chs[j++]); return 0; }
925 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:26:52 ] あほが一人だと哀れなだけだが、 あほが二人だと始末に負えないな
926 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:27:58 ] あほが三人集まったらどうなるんだろ
927 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:27:57 ] >>568 が始まりか… こんなに長文を書きながら密度がスカスカの議論を延々と…
928 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:36:24 ] 延々と「俺的『値』の定義」を読まされるスレはここですか?
929 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:36:57 ] >>923 void に向かって``半角''の一言をだして, 引き際失った奴を思い出したよ... # fj だけじゃないけどな, void + ``半角''
930 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:40:29 ] まぁエスケープシーケンスの話はもう良いや。はいはい、'\0'はナル文字の値ってことで良いよ。 俺も今後'\0'はナル文字じゃなくてなる文字の値って言ってあげるから。 それよりもさぁ、最近、里田まいが気になるんよ。俺、別に今までハロプロだのモー娘。だの まったく興味がなったんだけどさ、クイズヘキサゴン2に出ている里田まいを見て なんかこう、キュンッときたんよ。辻と違ってまだ処女だったらええのになぁ〜なんて 期待しつつ、プログラミングをしているわけだ。そんな俺ってどうよ?C言語ならぬ Cまでいけそうかな?
931 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:40:53 ] もまいら思い出してくれ。 文字と数値がメモリ上でも区別されてると思い込んでる人種がいるだろ。 COBOうあなにをするタテイスカンナニラセ@「
932 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:14:23 ] (´ω`)
933 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:25:34 ] こいつらが何か意味のある議論をしている・したがっていると勘違いするから混乱するんだよ。 レスを付けて何か返ってくるというリアルワールドでのコミュニケーションの代償行為をほぼ唯一の生きがいとしているだけなのに。
934 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:30:03 ] 俺の周囲の場合リアルワールドの会話はこれより遥かにつまらんから困る 人の噂話、悪口、武勇伝等の自慢話ばっかりでうんざり 2chが悪口ばっかりとか生産性の無いネタばっかりって言える人は幸せ者
935 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:31:40 ] これは釣りに対して全力で釣られてみる遊び。 素人にはオススメできない。
936 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:32:56 ] おまいらじゃせいぜい2ちょんねるだな。日本語で
937 名前:デフォルトの名無しさん [2007/05/15(火) 11:54:24 ] だめだこいつら…はやくなんとかしないと
938 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 12:01:11 ] >>1 乙
939 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:04:21 ] 昨日今日あたりで一気にスレを消費しちまったな
940 名前:デフォルトの名無しさん [2007/05/15(火) 13:20:05 ] 開発環境はvc++2005 OSはxpです。現在研修でコマンドラインから 取得した引数で四則演算を行うプログラムを作成しているのですが、 オーバーフローのチェックで悩んでいます。 加算、減算については出来たのですが、乗算のオーバーフローチェックが 分かりません。limits.hをインクルードして2147483647〜-2147483648 までの数値を扱っています。どのようなコードを書けばよいのでしょうか? よろしくお願いします。 扱っている変数は int lop; // 左のオペランドに入力する値 int rop; // 右のオペランドに入力する値 int result; // 計算結果 int mod; // 除算の余り int max = INT_MAX; // 表現可能な最大値 int min = INT_MIN; // 表現可能な最小値 char *check; // 変換不可能な文字を格納 char op; // 入力する演算子 これらになります。ファイル名lop op ropの形式で 実行します。
941 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:29:02 ] long long 使っていいならラクチンなんだがなあ。
942 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:32:03 ] >>940 lop*rop (lop>0 rop>0)について調べる場合 lop>INT_MAX/rop のときオーバーフロー 負数とか考えると面倒だね
943 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:40:23 ] インラインアセンブラ使いてーなー。
944 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:42:04 ] 掛け算のオーバーフローは難しそうだな。 n周まわって 結果が正のまま とかありえそうだし
945 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:48:36 ] >>940 マルチ乙。 加減算も自分でやったんじゃないんだろ?w Hackmem とかhacker's delight で調べてみ。 日本語訳も出版されている。
946 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:51:21 ] 掛け算だけにマルチ いやスミマセン
947 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:53:30 ] 掛け算を足し算のループに変えてオーバーフローを検出くらいしか思い浮かばん… 負数は先読み計算で。
948 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:59:21 ] MSBのbit位置テーブル作っといてlookupすりゃええんちゃうの?
949 名前:デフォルトの名無しさん [2007/05/15(火) 14:02:51 ] レスありがとうございます。確かにlongが使えるといいのですが、使っちゃ駄目みたいです。ちなみに先ほどのコードを使用して動かしてみました。全ては試していないのですが、 -2147483648 * -1 = -2147483648や 2147483647 * -1 = オーバーフローと なってしまいます。上はオーバーフローに下は -2147483647になるようにしたいのですが、中々上手くいきません。 どうすればよいでしょうか?よろしくお願いします。
950 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:21:43 ] 2進数のまま手計算してみれば? 途中経過のビットも出力して確認しながらやれよ。
951 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:28:25 ] これでダメな場合って lop==0 の時以外にあるかな? result=lop*rop; if(result/lop!=rop) オーバーフロー
952 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:54:12 ] >>951 っ lop=-1 rop=INT_MIN
953 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:56:41 ] >>940 加減算のオーバーフローチェックはどうやったの?
954 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:04:30 ] >>952 これやったら落ちてビビった (MacOSX 10.4.9 Intel Core 2 Duo)
955 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:11:19 ] >>954 >>952 で同じく落ちた (Win98SE C7 600MHz) なんと言うか恐ろしい計算だw
956 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:29:19 ] >>952 これ反則だよなあ。普通の計算でも起こり得りそうで困る。
957 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:40:55 ] gccで落ちたコードの核になる部分だけ抽出。 -- movl $-2147483648, %eax movl $-1, %ecx idivl %ecx -- うーん、-1で割っているだけなのに。
958 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:49:53 ] これは勉強になった。
959 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:53:22 ] >>952 C#でも落ちるかなと思ったけどOverflowExceptionが出るだけだった。
960 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:57:11 ] >>959 Exception をキャッチしてないからCだと落ちる っつーことっしょ
961 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:04:16 ] Instruction Set Reference の idiv の項を見てみた。 例外 #DE (divide error) 1. 除数が 0 の場合 2. 商が大きすぎる/小さすぎる場合 の、2. に引っかかってるみたいね。 アセンブラレベルで QWORD で使うなら十分起こりうる状況だけど、 int でやってる限りは -2147483648 / -1 でしか起こらないよね、これ。 こりゃ盲点だわ。
962 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:07:44 ] 実数でも同じことできる?
963 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:14:23 ] どうでもいいけど、Linuxだと"Floating point exception"って出るんだよな。 どこがFloatingPointなんだか。
964 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:15:41 ] gcc@MacOSX でもそう出る。 イミフ。
965 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:15:56 ] >>962 起きなかった
966 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:18:14 ] 実数は普通の演算で例外起きたっけ?
967 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:19:32 ] もう面毒せーから1/0=πという数学体系を新たに定義しようぜ
968 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:22:10 ] 移項すると 1 = π × 0 になるんだけど
969 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:23:16 ] その定義上ではその移項自体がまた特殊な扱いになるのか。
970 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:47:17 ] >>963 English WikiからSIGFPEの項より >Although SIGFPE does not necessarily involve floating-point arithmetic, there is no way to change its name without breaking backward compatibility.
971 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 17:50:56 ] 可換環じゃなかったら最早普通の計算に使えないなw
972 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:17:22 ] 次のような関数を作っていて、test3の直前でセグメントエラーが 出てしまい困っています。 R[]はintのポインタの配列で、疑似二次元配列です。 R[i]とy[]のなかで共通する数をR[i+1]に代入して、 最後に0を入れる関数です。 どうしてエラーが出るのか、誰か教えてください。 void katu(int *R[], const int i, const int y[]){ int a=0, b=0, k=0; for(a=0; a<N; a++){ for(b=0; b<N; b++){ if(R[i][a] == y[b]){ print("test1\n"); realloc(R[i+1], sizeof(int)*(k+2)); printf("test2\n"); R[i+1][k] = y[b]; printf("test3\n"); k++; } if(y[b] <= 0) break; } if(R[i][a] <= 0) break; } R[i+1][k] = 0; return; }
973 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:20:50 ] >>972 reallocの戻り値捨ててどうするんだよ。 reallocが成功したら元の領域はアクセスできなくなる。
974 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:22:18 ] >>972 realloc()の使い方を勉強しろ。 それはさておき、一文字変数は判り難いだけだから止めた方がいいぞ。 #特に引き数iなんて、誤解してくれと言わんばかりだ。
975 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:24:42 ] i は for ループのカウンタ以外では使わないほうがいいかもw
976 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:32:47 ] 一文字変数はカウンタくらいしか使わないな
977 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:32:48 ] aとかbをループ変数にするのはなんかいやだな。
978 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:34:57 ] (滅多に使わない)数式の実装ではまんま1文字変数使うこと多い # コメントで参考書名+page 書いとくが
979 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:37:50 ] 数式をコメントに入れておくなあ、そういう場合。
980 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:40:42 ] >>979 数行オーダーの数式なら、そうするほうが多いけどね。 RGB⇔HSV変換とかの 条件付な式だとコメント書きにくいねぇ (で、リファレンス書いて終了w)
981 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:48:04 ] こういうアルゴリズムでーす後はググれって感じでコメント書く。
982 名前:972 mailto:sage [2007/05/15(火) 19:18:53 ] >>973-974 ありがとうございます。 realloc(R[i+1], sizeof(int)*(k+2)); を、 R[i+1] = realloc(R[i+1], sizeof(int)*(k+2)); にしたら無事に動くようになりました。 結果が正しいかはこれから検討する所でありますが。 今回初めてreallocを使ってみたので、本当に間抜けなことをしていました。 重ね重ね、ありがとうございます。 変数についてですが、どうにもうまい名前の付け方が思い付きませんorz。 他の方のソースを読んで勉強していくしかないのでしょうか?
983 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:24:18 ] >>982 変数名を思いつけないと言うことは、書いているものが理解できていないか説明できないかのどちらかだろう。 前者は問題外だが、後者も社会人として必要な能力だ。「相手に伝える」ことを念頭に入れて、 変数の説明をする積もりで名前をつけてみるといい。
984 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:35:27 ] 例えばこんな感じですね int i int love, you
985 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:39:59 ] >>984 あーそれは、愛のあるいい変数名だね。 って、違うでしょ。
986 名前:972 mailto:sage [2007/05/15(火) 19:42:35 ] >>983 「相手に伝える」ですか。心がけてみます。 どうもありがとうございます。
987 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:52:03 ] 変数名なんて、それが何を入れとくための奴なのか分かるんならなんでもいいよ
988 名前:デフォルトの名無しさん [2007/05/15(火) 19:58:41 ] VisualC++.NETならばC言語で.NETを使えますか?
989 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:11:54 ] いいえ。 VS2003ならMC++, VS2005ならC++/CLIでのみ.NETを使えます。
990 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:12:27 ] いいえ、専用に構文が拡張されたC++になります。
991 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:17:00 ] 自前でホスティングすれば使えなくもないだろう。
992 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:28:25 ] // 次スレテンプレ C言語の入門者向け解説スレです。 ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 12 pc11.2ch.net/test/read.cgi/tech/1178620766/ 過去スレ Part 1 ttp://pc8.2ch.net/test/read.cgi/tech/1146700389/ Part 2 ttp://pc8.2ch.net/test/read.cgi/tech/1153818463/ Part 3 ttp://pc8.2ch.net/test/read.cgi/tech/1160682950/ Part 4 ttp://pc8.2ch.net/test/read.cgi/tech/1162999861/ Part 5 ttp://pc8.2ch.net/test/read.cgi/tech/1165022193/ Part 6 ttp://pc10.2ch.net/test/read.cgi/tech/1167325490/ Part 7 ttp://pc10.2ch.net/test/read.cgi/tech/1170064980/ Part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1171946674/ Part 9 ttp://pc11.2ch.net/test/read.cgi/tech/1173284217/ Part 10 ttp://pc11.2ch.net/test/read.cgi/tech/1174290325/ Part 11 ttp://pc11.2ch.net/test/read.cgi/tech/1176800483/
993 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:29:05 ] 関連スレ C/C++の宿題を片付けます 86代目 pc11.2ch.net/test/read.cgi/tech/1165718021/ くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/ 関連リンク C 関数検索 man on WWW www.linux.or.jp/JM/ 初心者のためのポイント学習C言語 www9.plala.or.jp/sgwr-t/ // ここまでテンプレ
994 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 20:32:34 ] 984 differ:char 5,6,7,8,9 line 4 !(Φ_Φ+){level}
995 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:33:11 ] Cスレ乱立しすぎ こっちへ吸収されていいと思う 【初心者歓迎】C/C++室 Ver.37【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1178432985/l50 くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/l50
996 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 21:57:37 ] 吸収も良いですが? スレを、そちらに変更?
997 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:13:54 ] 実行の様子をテキストファイルとして作成する方法を知りたいのですが、windowsの場合どうすればいいのでしょうか? Linuxなら./program > text.txtとするらしいのですが、windowsの場合がわかりません
998 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:15:03 ] >>997 同じ事やってみた?
999 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:17:13 ] なぜ試さない?
1000 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:17:54 ] 1000ゲット
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。