C言語なら俺に聞け(入門編)Part 78
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/02/06(日) 18:33:49★前スレ
C言語なら俺に聞け(入門編)Part 77
http://hibari.2ch.net/test/read.cgi/tech/1295721606/
★過去スレ
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++の宿題片付けます 146代目
http://hibari.2ch.net/test/read.cgi/tech/1296387672/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0153デフォルトの名無しさん
2011/02/07(月) 23:11:430154デフォルトの名無しさん
2011/02/07(月) 23:18:13お前らのことなど眼中に無いから気にならないにょ♪
0155デフォルトの名無しさん
2011/02/07(月) 23:19:360156デフォルトの名無しさん
2011/02/07(月) 23:21:430157デフォルトの名無しさん
2011/02/07(月) 23:27:380158デフォルトの名無しさん
2011/02/07(月) 23:29:58お前が眼中になくてもこっちが迷惑してると言ってんだよ
本当に頭おかしいなお前!
とっとと精神科逝け
0159デフォルトの名無しさん
2011/02/07(月) 23:30:120160デフォルトの名無しさん
2011/02/07(月) 23:31:12○ ・ω・ ○
○○○
.c(,_uuノ
0161デフォルトの名無しさん
2011/02/07(月) 23:33:410162デフォルトの名無しさん
2011/02/07(月) 23:34:152ちゃんで顔が広いの自慢する奴とかキモすぎるし
0163デフォルトの名無しさん
2011/02/07(月) 23:35:110164デフォルトの名無しさん
2011/02/07(月) 23:41:07◆QZaw55cn4cのスレで◆QZaw55cn4cが論破されてからこの流れ
はてさて^^
0165デフォルトの名無しさん
2011/02/07(月) 23:41:45ここに構ってもらいに来ているのです
しかもあまりの性格の悪さと耐久力の無さに、いい年をして未だに無職で、新しいPCを
買う金もないのでPen�V800MHzという時代遅れもいいマシンを使っています
0166デフォルトの名無しさん
2011/02/07(月) 23:43:42答えられませんからwww
0167デフォルトの名無しさん
2011/02/08(火) 00:22:08かわいちょーwww
0168デフォルトの名無しさん
2011/02/08(火) 05:16:19内部でdoubleに格上げされることを言及する場面でもないだろ。
Qなんとかがせっせとレスしてたみたいだが。
0169デフォルトの名無しさん
2011/02/08(火) 05:17:420170デフォルトの名無しさん
2011/02/08(火) 05:18:20> ちなみに float f = 10 + 3; は、int から float に変換して正しく 13.0 が f に
> 入るけど、printf() の引数はその手の変換はしない。
> (フォーマット文字列が可変なんていうケースもあるから。)
イジメヨクナイ
0171デフォルトの名無しさん
2011/02/08(火) 06:50:51printfの"%f"はdoubleにcastされるのか?
こりゃ新しいコンパイラが必要だなw
0172デフォルトの名無しさん
2011/02/08(火) 07:45:51昔からそうです。コンパイラを変える必要はないでしょう。この手の話は >>83 が一番わかりやすいと思います。
って書くと、楽しんでいただけますか?
>>149,150
最終的な回答は
http://hibari.2ch.net/test/read.cgi/tech/1295273862/71
http://hibari.2ch.net/test/read.cgi/tech/1295273862/74
http://hibari.2ch.net/test/read.cgi/tech/1295273862/78
あたりでしょう。これらに対する有効な回答はないみたいですね。
論破された、という意味では、
http://hibari.2ch.net/test/read.cgi/tech/1295273862/61
が決定的な有効打でした。これには参りました。
>>165
PenIII 866 です。
私の Let's note もそろそろ換え時でしょうね。B5ノートでリーズナブルなのがあれば使用感とともに教えていただけると嬉しいです。
0174デフォルトの名無しさん
2011/02/08(火) 08:01:26intよりも小さい整数型はintに、doubleより小さい実数型はdoubleにキャストされて詰まれる。
注意すべきは、intやdoubleよりも大きい型の場合。例えば、これは破綻する。
--
long double foo = 1;
int bar = 2;
printf("%g, %g", foo, bar);
--
前者はlong doubleをdoubleにキャストしてくれないし、後者は整数を実数にキャストしてくれない。
但し、プロトタイプ宣言がある場合は適切にキャストされる。従って、これも問題ない。
--
void func(float foo, long double bar);
func(1.2, 3);
0175デフォルトの名無しさん
2011/02/08(火) 09:26:25>>173
わざわざコテ外して暴言吐いてから書き込む◆QZaw55cn4cさんぱねぇッス!!!”!!!!!!!!
0176デフォルトの名無しさん
2011/02/08(火) 09:30:29MacBookAirでいいじゃん。
0177デフォルトの名無しさん
2011/02/08(火) 09:31:56リーズナブルって、金も無いのに買えるの?出来もしない事を言っちゃいけませんよ^^
0178デフォルトの名無しさん
2011/02/08(火) 09:43:22無理だろ。
MacBookAirの値段を500円で割ってみろよ…何年後になるんだよ
0179デフォルトの名無しさん
2011/02/08(火) 09:45:55リーズナブルわろたw
無一文でそのセリフは完全にギャグだろw
0180デフォルトの名無しさん
2011/02/08(火) 09:48:250181デフォルトの名無しさん
2011/02/08(火) 11:37:200182デフォルトの名無しさん
2011/02/08(火) 11:39:390183デフォルトの名無しさん
2011/02/08(火) 12:38:140184デフォルトの名無しさん
2011/02/08(火) 12:40:35データを転送する。
時間を計る。
おわり。
0185デフォルトの名無しさん
2011/02/08(火) 12:45:29http://hibari.2ch.net/test/read.cgi/tech/1295273862/61
が決定的な有効打でした。これには参りました。
0186デフォルトの名無しさん
2011/02/08(火) 12:47:43>>171
ちんちんシュッシュッ
って書くと、楽しんでいただけますか?
0187デフォルトの名無しさん
2011/02/08(火) 13:25:26データって何を転送したらいいですか?
0188デフォルトの名無しさん
2011/02/08(火) 13:26:39いい加減スレ違い
0189デフォルトの名無しさん
2011/02/08(火) 13:48:12そうでしたか
どこで聞いたらいいですかね?
0190デフォルトの名無しさん
2011/02/08(火) 13:55:08http://hibari.2ch.net/test/read.cgi/tech/1295273862/
0191デフォルトの名無しさん
2011/02/08(火) 15:16:130192デフォルトの名無しさん
2011/02/08(火) 15:20:220193デフォルトの名無しさん
2011/02/08(火) 15:21:380194デフォルトの名無しさん
2011/02/08(火) 15:25:250195デフォルトの名無しさん
2011/02/08(火) 20:48:35自作自演してたのはほとんど◆QZaw55cn4cだったってオチ?
0196デフォルトの名無しさん
2011/02/08(火) 21:18:46普段トリップを外さないのは他人を装いやすくするため
0197デフォルトの名無しさん
2011/02/08(火) 21:34:34A、スレッドを流せばいい
Q、連投すると荒らし扱いされる危険もあるのでは?
A、◆QZaw55cn4cをダシに使えばいい
0198デフォルトの名無しさん
2011/02/08(火) 21:38:11A、突っ込む奴=◆QZaw55cn4cでおk
0199デフォルトの名無しさん
2011/02/08(火) 22:00:13#include<stdio.h>
void main()
{
int a,b;
a = 2;
b = 2;
printf("a=%d , a++=%d , ++a=%d\n",a,a++,++a);
printf("a=%d \n",a);
printf("b=%d , ++b=%d , b++=%d\n",b,++b,b++);
printf("b=%d \n",b);
}
このプログラムで、aとbで数字が微妙に違うんですがなぜですか
順番が関係してるのはわかりますが詳細希望です
0200デフォルトの名無しさん
2011/02/08(火) 22:01:27>printf("a=%d , a++=%d , ++a=%d\n",a,a++,++a);
>printf("b=%d , ++b=%d , b++=%d\n",b,++b,b++);
こんな風に変数呼び出しに複数の引数を指定した場合はその評価順序については
規定がないから
0201デフォルトの名無しさん
2011/02/08(火) 22:05:160202デフォルトの名無しさん
2011/02/08(火) 22:05:310203デフォルトの名無しさん
2011/02/08(火) 22:06:321行で複数の副作用が発生する場合、どの順番で処理するのかは環境依存。
その例で言えば、決まった結果になるのはaとbの最終的な値のみ。
0204デフォルトの名無しさん
2011/02/08(火) 22:06:33規定がないってことは環境によってもでてくる数値が違ってくる可能性があるってことですか
0205デフォルトの名無しさん
2011/02/08(火) 22:08:51ありがとうございました
0206デフォルトの名無しさん
2011/02/08(火) 22:11:380207デフォルトの名無しさん
2011/02/08(火) 22:19:11§6.5.2.2.
10 The order of evaluation of the function designator, the actual arguments, and
subexpressions within the actual arguments is unspecified, but there is a sequence point
before the actual call.
0208デフォルトの名無しさん
2011/02/08(火) 22:19:15◆QZaw55cn4c、 コメントをどうぞ
0209デフォルトの名無しさん
2011/02/08(火) 22:20:160210デフォルトの名無しさん
2011/02/08(火) 22:41:08Q、恥ずかしい過去(>>71>>76)を消すにはどうしたらいいですか?
A、スレッドを流せばいい
Q、連投すると荒らし扱いされる危険もあるのでは?
A、◆QZaw55cn4cをダシに使えばいい
198 :デフォルトの名無しさん:2011/02/08(火) 21:38:11
Q、さすがにバレバレでは?
A、突っ込む奴=◆QZaw55cn4cでおk
0212デフォルトの名無しさん
2011/02/08(火) 22:49:44int main(void)
{
int sum;
printf("数字を入力してください\n");
scanf("%d",&sum);
do
{
printf("%d",sum % 10);
sum = sum/10;
}
while(sum > 0);
return 0;
}
エラーでます・・・
parese error before"G"
Gなんて言葉ありませんよ?どういうことでしょう
0213デフォルトの名無しさん
2011/02/08(火) 22:51:24何怒ってんだよ。落ち着けってww
a++;
printf("%d",a);
みたいに分けろって事なんじゃね
どっちにしろprintf("%d %d\n",a++,a++);とかは
コンパイラによって評価の仕方が違うから理解する必要ない
というかやってはいけないと理解するべき
0214デフォルトの名無しさん
2011/02/08(火) 22:51:52日本語のところがあやしくね?
0215デフォルトの名無しさん
2011/02/08(火) 22:53:04エラー文を出てきたまま書いて下さい
0216デフォルトの名無しさん
2011/02/08(火) 22:54:42糞
0217デフォルトの名無しさん
2011/02/08(火) 22:56:525行目が全角セミコロン
0218デフォルトの名無しさん
2011/02/08(火) 22:57:310219デフォルトの名無しさん
2011/02/08(火) 22:58:54例えば
>printf("a=%d , a++=%d , ++a=%d\n",a,a++,++a);
↓
>int b = a++;
>int c = ++a;
>printf("a=%d , a++=%d , ++a=%d\n", a, b, c);
0220199
2011/02/08(火) 23:00:14ごめん全然怒ってないんだけど、>>212の間違いかな。
なるほど、変数が同じときは一個一個分けて書くってことですか。
「,」で続けるのはやってはいけないって覚えておくことにします。
0221デフォルトの名無しさん
2011/02/08(火) 23:02:11あ、これじゃaの値が変わってしまうからaも保存しとかなきゃ
>int aa = a;
>int b = a++;
>a = aa;
>int c = ++a;
>printf("a=%d , a++=%d , ++a=%d\n", aa, b, c);
0222デフォルトの名無しさん
2011/02/08(火) 23:09:38しかしナチスは不滅である……たとえ米ソがいったんは勝つように見えようとも……。
そうなのだ、それは砂の上の勝利だ。彼らは世界の真の支配者ではないからだ。彼らの背後で操る者……ユダヤ……イスラエル……
世界的なユダヤ国際資本……。米ソは……おそらく1990年代ごろまで、対立と妥協を繰り返しつつ、世界を運営しようとする。
しかし所詮……ヨーロッパと日本、東アジア、イスラム諸国、インド……いずれ世界は米ソの手に負えなくなる。
そのときユダヤはみずから……に乗り出す。
哀れなアラブ4カ国……最終戦争。東西が激突するだろう。
ユダヤはそれに勝って全世界……なぜならそれが彼らの『旧約聖書』の約束だからだ。
黙っておけば必ずそうなる。しかし、私がそうはさせない。そのための手を、私は死ぬ前に打っておく。
それが最後の秘儀である。それによって人類はわれわれを受け継ぐことになる。
しかも見よ、そのあと、わがナチスの栄光、ラストバタリオン……。
それが真のハーケンクロイツの日だ。カギ十字の日だ。そのときラストバタリオンが現われる。ユダヤを倒す。
世界を支配する。永遠に……そしてナチスは甦る。真のヒトラーの時代が来る。必ずだ。
甦ったナチスの軍団とその強力な同盟がそのとき来る。宇宙からの復讐のカタストロフィとともに来るぞ。それからが真の究極だ。
真の終わりで真の始まり、真の淘汰、天国の地獄、21世紀のその年に、人類の驚くべき究極の姿……ではそれを明かそう。諸君、それは人類……」
0223デフォルトの名無しさん
2011/02/08(火) 23:40:13while(sum > 0);
これ怖い。
0224デフォルトの名無しさん
2011/02/08(火) 23:49:41どう怖いんですか?
0225デフォルトの名無しさん
2011/02/08(火) 23:51:05マイナスの値を入力したら下手をすると永久ループに飛び込む
環境依存だけど
0226デフォルトの名無しさん
2011/02/08(火) 23:52:150227デフォルトの名無しさん
2011/02/08(火) 23:53:090228デフォルトの名無しさん
2011/02/08(火) 23:54:38OSによって全然違うからOSマニュアルみたら
Windows DOS窓ならCtrl+C
Windows GUIならタスクマネージャから落とす
関数の区切りの , (コンマ)はたしかに注意すべきということでそのとおりなのですが、
順次演算子のコンマ(というのもあります。)については、これは副作用完了点(sequence point) です。
順次演算子の左で発生した副作用(++ とか -- とか)は、順次演算子のところで確定します。
副作用完了点となるのは、&&, ||, ?:(三項演算子/条件式)と順次演算子のコンマです。
そういうものもあるということで、一応コメントしておきます。
0230デフォルトの名無しさん
2011/02/09(水) 00:02:57そのターミナルで Ctrl-C するか、別のターミナルから
ps や top で プロセス ID を探して、kill -9 <PID> する。
0231デフォルトの名無しさん
2011/02/09(水) 00:04:19氏ね
0232デフォルトの名無しさん
2011/02/09(水) 00:04:25そんなもん知っとるわカス
0233デフォルトの名無しさん
2011/02/09(水) 00:05:21>>220
関数の区切りの , (コンマ)はたしかに注意すべきということでそのとおりなのですが、
順次演算子のコンマ(というのもあります。)については、これは副作用完了点(sequence point) です。
順次演算子の左で発生した副作用(++ とか -- とか)は、順次演算子のところで確定します。
副作用完了点となるのは、&&, ||, ?:(三項演算子/条件式)と順次演算子のコンマです。
そういうものもあるということで、一応コメントしておきます。
0234デフォルトの名無しさん
2011/02/09(水) 00:08:04何か一言いちゃもんを付けなければ気が済まないアホだなこいつは
0235デフォルトの名無しさん
2011/02/09(水) 00:11:43と言いたいところだけど、その「知識」も常識レベルだからそんなドヤ顔で書かれても寒いだけ
0236デフォルトの名無しさん
2011/02/09(水) 00:14:04単に暇なだけじゃこうまで突っ込みは出来ないよな
0237デフォルトの名無しさん
2011/02/09(水) 00:15:160238デフォルトの名無しさん
2011/02/09(水) 00:17:20だって、大基地に群がるキチガイだからな
0239デフォルトの名無しさん
2011/02/09(水) 00:18:010240デフォルトの名無しさん
2011/02/09(水) 00:18:380241デフォルトの名無しさん
2011/02/09(水) 00:19:270242デフォルトの名無しさん
2011/02/09(水) 00:19:460243デフォルトの名無しさん
2011/02/09(水) 00:20:30◆QZaw55cn4cは頭に血が上ると見境が付かなくなる馬鹿ですね
0244デフォルトの名無しさん
2011/02/09(水) 00:21:590245デフォルトの名無しさん
2011/02/09(水) 00:25:15おーこわ
0246デフォルトの名無しさん
2011/02/09(水) 00:31:530247デフォルトの名無しさん
2011/02/09(水) 00:32:500248デフォルトの名無しさん
2011/02/09(水) 00:34:020249デフォルトの名無しさん
2011/02/09(水) 00:48:350250デフォルトの名無しさん
2011/02/09(水) 01:01:41char *p1 = *dst;
char *p2 = *src;
while(size--){
*p1** = *p2++;
}
}
基本的なソースはこういう形として,
こういう形で,エンディアンの問題を回避する方法ってある?
0251デフォルトの名無しさん
2011/02/09(水) 01:03:45C言語でないものはスレ違い
0252デフォルトの名無しさん
2011/02/09(水) 01:05:16エンディアンの問題って、何を「問題」だと思ってるの?
それによって解答は変わる。
■ このスレッドは過去ログ倉庫に格納されています