トップページ⇒tech
1001コメント285KB

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 117
http://toro.2ch.net/test/read.cgi/tech/1373675124/
★過去スレ
http://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++の宿題片付けます 165代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0809デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>795
この上なく気持ちわりいレスだな
0810デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>808
最初に正解ルートを作り、行き止まりを後から作るといい。
0811デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>810
プログラムお願いします。
0812デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>808

スレ立てるまでもない質問はここで 126匹目
http://toro.2ch.net/test/read.cgi/tech/1363522503/743

>> 743 名前: デフォルトの名無しさん [sage] 投稿日: 2013/05/13(月) NY:AN:NY.AN
>> 微妙
>> だいたいここに全部まとまってるから見とけばいい。リンク先含めて
>> http://d.hatena.ne.jp/yaneurao/20130125
0813 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>809
最近の若い人間は相手を罵倒するのに自分の主観/感覚を述べることで相手を貶めたことにするのか?
これがいわゆる「いじめ」のやり方というやつか
生憎,お前が気持ち悪かろうとこっちの知ったことじゃないが
0814デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ちょっと何言ってるかわかんないですね
0815デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
アスペvsアスペ
0816デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>804
C言語とは関係ない話だけど。
それは会社や案件によって違うので、上司や得意先に聞いてみるしかない。

ただ将来的に営業を担当するのであれば、詳細な仕様書が見積もり書に
添付されているほど、トラブル発生時の逃げ道が確保できるので
(営業的な意味で)安全だということは覚えておくべき。

例えば優秀な営業になるほど、得意先内部でも話が固まっていないような早期の段階から
開発案件に首を突っ込むことになったりする。当然、きちんとした仕様書なんか
どこにも無く、仕様変更の多発が予想される状況下で、見積もりをクレって言われてしまう。
その時、営業としてどうするか・・・そのあとの話は実際に会社に入ってから、上司にでも聞いてみて。
0817デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
strtok_rは20年近く前から存在するんだが。MSが提供始めてからも10年近く経っている。
それを「オレが以前から指摘していた」、「オレが考えたのと同じ」とか自慢する不可触賎民もいるんだねえ。
挙句の果てに実装しろの連呼とか。あきれ返るわ


From: [770] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>767
>「何でstrtok使わないん?
strtok() はウンコ
仕様をみてそれを判断できないのもウンコ

From: [771] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>769
実装しろ馬鹿

From: [787] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN

>>769
早く実装しろ
0818デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
仕様変更には応じない、再契約する
でおk
0819デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>817
Qの病気が悪化してるなw
0820デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
またQz敗走か
0821デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
STDINって姦狂変数?
0822 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>808
出発点はstr[0][1]でゴールはstr[99][98]では?
つまり壁の分はどうするか?
0823 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>817
お前は MS-Cv6 を買ったか?それには strtok_s() なぞはない
0824 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>821
環境変数のことだったら「stdin を環境変数とはいわない」
0825デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
strtok_sはVS2005から VS2005はベータ版が2004年には提供されていた

また敗走か 不可触賎民 wwww
0826デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
Qz先生って、こんなキャラ設定だったっけ?
0827デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
55とは別だからね
0828 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>825
お前は MS-Cv6(1989)を買ったか?
0829デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
生まれる前だから買えるわけがない
0830 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>829
俺はMS-Cv6の時代から標準の strtok() は糞な仕様と見切っていたから一切使わずにやってきた.
その後マイクロソフトも strtok_s() とかを追加してきた.

俺様が特別偉いというわけではなく,普通誰しもが考えることだ,strtok() がウンコ仕様であるということに.
ま,そうことだね
0831 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>825
お前,何をもって敗走とか判断したのか?

普通のおつむの持ち主なら strtok() の仕様をみれば即断即決で使うべきでないウンコ関数と判断する.
マイクロソフトも俺様も同じ判断だ.

コンパイラの発売時期を調べて何がいいたい?
0832デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
既知外はしつこい
0833 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>832
ほかにいうことはなくなったか?
0834デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
strtok_rは20年近く前から存在するんだが。MSが提供始めてからも10年近く経っている。
それを「オレが以前から指摘していた」、「オレが考えたのと同じ」とか自慢する不可触賎民もいるんだねえ。
挙句の果てに実装しろの連呼とか。あきれ返るわ


From: [770] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>767
>「何でstrtok使わないん?
strtok() はウンコ
仕様をみてそれを判断できないのもウンコ

From: [771] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>769
実装しろ馬鹿

From: [787] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN

>>769
早く実装しろ
0835デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
クズの脳みそはウンコ仕様
0836デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
strtok のうんこぶりぶりは、
標準の範囲内でちゃんと無理なく解決つくのに
便所の落書きに哀願するQzってほんと哀れ・・・という表現にさえ及ばないな
0837 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>834
普通のおつむの持ち主なら strtok() の仕様をみれば,他の資料を参照する必要などなく即断即決で使うべきでないウンコ関数と判断する.
strtok_r() の初出は POSIX.1-2001. らしいが,それはともかく初出を調べて何がいいたい?
0838 ◆QZschizo.ptH 2013/08/31(土) NY:AN:NY.AN
>>836
>標準の範囲内でちゃんと無理なく解決つく
つまり,strtok() を捨てて適当に書き直すということか?それなら俺様の主張と変わらないのでは?
0839デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ちなみに実行時に問題が起きない場合であっても
Qz先生は strtok の使用を許さない方針です?
0840デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
しょうがくせいです プロロロロロロロロ・・・・
0841デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
strtokが内部で保持している情報取り出す方法知らんの?
0842デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>839
ソフトウェアに賞味期限はない
0843デフォルトの名無しさん2013/09/01(日) 00:02:53.93
まあそうだね、食べられないからね
0844デフォルトの名無しさん2013/09/01(日) 00:06:38.14
せっかく買ったVCを使いこなせないゴミクズ

http://toro.2ch.net/test/read.cgi/tech/1371208925/531
> From: [531] ◆QZaw55cn4c <環境依存でごめんなさい>
> MSVC はよく知らんので mingw で示してくれんかのう
0845デフォルトの名無しさん2013/09/01(日) 00:07:29.20
Qzはすぐ自演でどうにかする癖直したほうがいいよ
0846デフォルトの名無しさん2013/09/01(日) 00:13:03.51
>>838
何が「変わらない」?

strtok に手を染めてしまった汚物を
標準の枠内で無理なく消毒できる
static なり #define なり手段はいくらでもある

煽っても教えてやらんけど
0847 ◆QZschizo.ptH 2013/09/01(日) 00:51:30.23
>>846
strtok()のウンコ「仕様」をどうにかするのだったら適切な「仕様」になるようにstrtok()を書き直すしかないのでは?マイクロソフトもそうしてる
そりゃ所要の目的を達成すらだけであれば strtok() の制限を理解した上で使用するのも手だし当たり前,でも今はそんな話をしてはいない

>static なり #define なり手段はいくらでもある
static を使うとか strtok() の馬鹿さをそのまま引き継ぐ方向だろう?あんたも馬鹿なの?
#define?また時代遅れなものを‥‥.
0848 ◆QZschizo.ptH 2013/09/01(日) 00:52:50.70
>>839
動けばいいと思うよ,でも後で苦労するのはいやだなあ‥‥
0849 ◆QZschizo.ptH 2013/09/01(日) 00:53:22.91
>>844
express はただでくれるんだけど
0850 ◆QZschizo.ptH 2013/09/01(日) 00:54:06.28
>>845
自演でどうにかするのはアンチQZだよね
QZの自演は自爆自演だよ
0851デフォルトの名無しさん2013/09/01(日) 00:55:20.78
なんで全レスしてるの?
本当に独り善がりで気持ち悪いね
0852デフォルトの名無しさん2013/09/01(日) 00:55:43.71
>>847
> ふじこ
日本語でおk
0853デフォルトの名無しさん2013/09/01(日) 00:57:57.58
>>848
ふむふむ、なるほど
0854 ◆QZschizo.ptH 2013/09/01(日) 00:58:07.98
>>841
そんなものないよ
0855デフォルトの名無しさん2013/09/01(日) 01:06:40.82
>>848
問題ないと思ってるのに噛み付いたの?
0856デフォルトの名無しさん2013/09/01(日) 01:15:49.91
まあそこは(以下ry
Qz先生の熱い思いを聞けて満腹ですわ
0857デフォルトの名無しさん2013/09/01(日) 01:21:45.49
qzさん●流出事件の前からトリップ変えてますよね?
何かすげーって思った。
0858デフォルトの名無しさん2013/09/01(日) 01:22:01.45
>>849
VC6 expressなんてものはない WWWW
0859デフォルトの名無しさん2013/09/01(日) 01:27:35.89
>>847
>そりゃ所要の目的を達成すらだけであれば strtok() の制限を理解した上で使用するのも手だし当たり前,でも今はそんな話をしてはいない
strtokの制限内の>>767に因縁つけといて、すっかり忘れて見苦しい言い訳

今すぐ死ね。
0860 ◆QZschizo.ptH 2013/09/01(日) 01:46:19.28
>>858
http://toro.2ch.net/test/read.cgi/tech/1371208925/531 は express 使ったんだよ,だってただだもん
金出してMSのを買ったのは MS-C 以来だねえ,おっとDOSエクステンダで動いてたから MS-Cv7 か 8 だったかかもね忘れたけど
0861 ◆QZschizo.ptH 2013/09/01(日) 01:48:55.18
>>855 >>859
そういわれてみれば忘れてたねえ
でも,>>767 を否定したつもりじゃないんだよ,strtok() を否定しただけなんだよ

ごめんね
0862 ◆QZschizo.ptH 2013/09/01(日) 01:49:59.64
>>851
逃避というやつ‥‥明日が怖い‥‥
0863デフォルトの名無しさん2013/09/01(日) 01:50:45.75
>>847
>#define?また時代遅れなものを‥‥.
公開オナニーでは多用してるようだが
http://codepad.org/ZhlBW2Cm
#define xmalloc(x, y) malloc(x)
#define xfree(x, y) free(x)
#define xrealloc(x, y, z) realloc(x, y)
#define xmallocdump()
0864 ◆QZschizo.ptH 2013/09/01(日) 01:56:42.53
>>863
この場合はコスト零だからねえ,もういちいち xmalloc() を malloc() に書き換えるとかめんどくさいし〜
ま,てきとーですわ
0865デフォルトの名無しさん2013/09/01(日) 02:04:17.20
気分で同意したり否定したりしてるだけだろ
構うだけ無駄なんだよ
0866 ◆QZschizo.ptH 2013/09/01(日) 02:43:12.23
>>863
これ何時の何するやつだったの?
0867デフォルトの名無しさん2013/09/01(日) 03:48:55.20
int a;

a=(43%50)/(12+1/2);
printf("%d\n",a);
a=(44%50)/(12+1/2);
printf("%d\n",a);
a=(45%50)/(12+1/2);
printf("%d\n",a);
a=(46%50)/(12+1/2);
printf("%d\n",a);
a=(47%50)/(12+1/2);
printf("%d\n",a);
a=(48%50)/(12+1/2);
printf("%d\n",a);
a=(49%50)/(12+1/2);
printf("%d\n",a);
a=(50%50)/(12+1/2);
printf("%d\n",a);

これの結果が3,3,3,3,3,4,4,0になるんですがなぜ4が出てくるのでしょうか?
0868 ◆QZschizo.ptH 2013/09/01(日) 03:51:41.51
>>858
そだ,つっこんどかないと.MSVC6 と MS-Cv6 とは別ものだよん
0869 ◆QZschizo.ptH 2013/09/01(日) 03:55:53.07
>>867
1/2 == 0
12+1/2 == 12
48%50 == 48
(48%50)/(12+1/2) == 48/12 == 4

どうなってほしいの?
0870デフォルトの名無しさん2013/09/01(日) 04:14:44.35
>>869
回答ありがとうございます
3,3,3,3,3,3,3,0になってほしいんです
ヒントをもらってintをfloatに変更したんですが
すべて0になってしまいます
0871デフォルトの名無しさん2013/09/01(日) 04:31:16.53
>>870
http://codepad.org/wl2MFlov
0872 ◆QZschizo.ptH 2013/09/01(日) 08:00:02.39
>>870
>>871 の手法で.演算子のオペランド(被演算数)の一方でも double になったら,結果は double として得られる
なお,float は, float であることを意識して float にしている,というのでなければ不適,double にしときなよ
http://codepad.org/NHDsx6Zw
0873デフォルトの名無しさん2013/09/01(日) 09:16:37.44
>>870
a=(49%50)/(12+1/2.0);
0874デフォルトの名無しさん2013/09/01(日) 09:36:13.17
> From: [861] ◆QZschizo.ptH <sage>
> Date: 2013/09/01(日) 01:48:55.18
>
> >>855 >>859
> そういわれてみれば忘れてたねえ
> でも,>>767 を否定したつもりじゃないんだよ,strtok() を否定しただけなんだよ
>
> ごめんね
見苦しい言い訳は止めて今すぐ死ね >>767を否定してるじゃねーか
スカトロマニアのお前以外にはうんこは侮蔑の単語

> 770
> 仕様をみてそれを判断できないのもウンコ
0875デフォルトの名無しさん2013/09/01(日) 10:19:22.56
> なお,float は, float であることを意識して float にしている,というのでなければ不適,double にしときなよ

90年代には話もあったようだけど、死ねよ老害。
0876デフォルトの名無しさん2013/09/01(日) 10:22:25.97
>>767 が犯罪者予備軍なのは間違いないだろ 反省しろ
0877 ◆QZschizo.ptH 2013/09/01(日) 10:26:18.10
>>875
ほう?
論破してあげるから詳しく

ISO:IEC 9899:1999 6.5.2.2.6
If the expression that denotes the called function has a type that does not include a prototype,
the integer promotions are performed on each argument, and arguments that have type float are promoted to double.
These are called the default argument promotions.
0878 ◆QZschizo.ptH 2013/09/01(日) 10:27:16.44
>>874
>>865
0879デフォルトの名無しさん2013/09/01(日) 10:36:36.03
論破 wwww MS-C V6も使いこなせないうんこが論破 wwww
0880 ◆QZschizo.ptH 2013/09/01(日) 11:52:54.25
>>879
煽りはいいから議論し給え
0881デフォルトの名無しさん2013/09/01(日) 12:01:03.03
議論 wwww
常に論破されまくりのウンコが 議論 wwww
死ね老害 wwww
0882 ◆QZschizo.ptH 2013/09/01(日) 12:46:51.61
>>881
煽りはいいから議論し給え,それともできないの?
0883デフォルトの名無しさん2013/09/01(日) 12:59:03.42
特に事情がなければdoubleの方が無難だけど、
最近はGPU使うからfloatも出番が増えて来たな。
floatの方が速いCPUもあるし。
0884デフォルトの名無しさん2013/09/01(日) 13:36:31.49
議論 WWWW
不可触賎民が議論 WWWW
0885デフォルトの名無しさん2013/09/01(日) 14:03:52.59
NGNameだから何言ってるかは知らんけど、
とんでも屁理屈を展開して相手を呆れさせたもの勝ち、の勝負は
議論とは言わない。
0886デフォルトの名無しさん2013/09/01(日) 15:05:03.33
int P[256][2];

int n1=123;
int n2=1;

int *pt = &P[n1][n2] ;

int d = (int)(pt - &P[0][0]);

printf("n1 = %d n2 = %d\n",d/2,d%2);

↑こんなふうにしてn1とn2を求めてるんだけど
もっと短く書く方法知ってたら教えて下さいm(_ _)m
0887デフォルトの名無しさん2013/09/01(日) 15:36:07.28
2列か2行という情報を使ってるだろ。意味なし。
0888デフォルトの名無しさん2013/09/01(日) 15:37:04.06
d = sizeof(int) * (n1 + 256 * n2);
0889デフォルトの名無しさん2013/09/01(日) 15:38:19.40
d = n1 + 256 * n2;
0890デフォルトの名無しさん2013/09/01(日) 16:27:16.84
>>888>>889
ありがとうございます

短く書こうと思ってましたが、再計算すると遅くなりそうなので
やっぱり計算速度の方を優先することにしました
0891デフォルトの名無しさん2013/09/01(日) 16:28:27.91
>>876
煽ってるのは別人なのにな
いきなりそんなレッテル張ってくるなんて
同じ事を言ってるご本人様かそのご同類しかいない
0892デフォルトの名無しさん2013/09/01(日) 16:28:56.60
こいつはスゲーな
08938702013/09/01(日) 16:37:27.00
>>871,872,873
大変勉強になりました
ありがとうございます
0894デフォルトの名無しさん2013/09/01(日) 17:32:55.69
涼しくなったらパソコンの音が静かになるんだけど何でかな?
Cのプログラム実行しようとしたらやたら音がうるさいけどなんで?
0895デフォルトの名無しさん2013/09/01(日) 17:43:10.57
壊れたんだよ
0896デフォルトの名無しさん2013/09/01(日) 19:46:37.42
コマンドプロンプトでコンパイルするときに、windows sdkのバージョンはどうやって指定したら良いのでしょうか?
環境はwin7 msvc2010です
0897デフォルトの名無しさん2013/09/01(日) 20:06:47.36
スレ違い
0898デフォルトの名無しさん2013/09/01(日) 20:10:43.37
メニューのVisual Studio Toolsにあるコマンドプロンプトの
ショートカットで開く以外の方法?
0899デフォルトの名無しさん2013/09/01(日) 21:07:23.42
多分、cl.exeがあるフォルダにPATHを通してコマンド呼び出せば済む
0900デフォルトの名無しさん2013/09/01(日) 21:21:14.48
なんでwindowsにはデフォルトで.cで保存できる仕組みがあるのに
コンパイル&実行できないんだろ、かなり疑問なんだが。
0901デフォルトの名無しさん2013/09/01(日) 21:29:58.96
.cファイルをクリックしただけでコンパイル&実行ということか。
怖いよ。
0902デフォルトの名無しさん2013/09/01(日) 21:32:50.61
>>901
ならtxtでよくね?
.cで保存するのとtxtで保存するのに差はなに?
0903デフォルトの名無しさん2013/09/01(日) 21:34:24.84
コンパイルするより編集するだろJK
0904デフォルトの名無しさん2013/09/01(日) 22:30:22.47
Makefileなしに勝手に同フォルダの他ファイルもコンパイルするのか
ウイルス作成が捗るな
0905デフォルトの名無しさん2013/09/01(日) 23:07:54.45
>>902
Make・・・
0906デフォルトの名無しさん2013/09/01(日) 23:29:04.51
>>900
Cで保存?
何言ってんのお前
お前の書いたゴミコードをWindowsがCで書かれてると認識してるとでも?
0907デフォルトの名無しさん2013/09/01(日) 23:43:25.00
>>906
拡張子の話ですよ。
何故.cとしないとコンパイルできないのかなと。
コンパイル前の処理を.cで保存することで行ってるんですか?
例えば.jpeg保存だとビットマップから圧縮処理してるでしょ。
.cは何か処理してるのかなと。
0908デフォルトの名無しさん2013/09/01(日) 23:46:21.68
テキストファイルに実行権限をつけることもできないから
shebang もない
レス数が900を超えています。1000を超えると表示できなくなるよ。