- 1 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 22:13:58.98 ID:9/te2eSJ0.net]
- C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ 前 C言語なら俺に聞け 144 https://mevius.5ch.net/test/read.cgi/tech/1514025223/ 次スレを立てる時は本文の1行目に以下を追加して下さい !extend:on:vvvvv:1000:512 VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
- 620 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 19:02:02.77 ID:z318xA/90.net]
- (配列等で)連続が保障されてるときには要素数が求まるようにはなってるけど
連続性のないポインタの差分は鼻から悪魔だったような 規格? みてない
- 621 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 19:05:21.84 ID:S7OmeNGW0.net]
- >>598
俺は根拠がないと言ったんだが それをすっ飛ばして整定数式ではないと言われてもねえ
- 622 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/26(月) 07:31:09.27 ID:Sl5sXtlN0.net]
- で、587は逃げたのか
- 623 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 09:52:06.25 ID:5fqWa8qC0.net]
- 今日からC言語を始めたのでよろしくです
- 624 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 10:39:34.46 ID:9cQp/9Bmp.net]
- ご愁傷様
- 625 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 11:35:27.48 ID:0ihjlnG/0.net]
- a[b*c];
のようにしてもassemblyコードがアドレッシングモードじゃなくて 掛け算してしまうんですけどどうしたらアドレッシングモードで計算するように なりますか?
- 626 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 11:54:06.58 ID:dvRuSlEv0.net]
- >>604
b と c とを使って何をしたいのでしょうか?
- 627 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:03:06.83 ID:EmWkiz+YM.net]
- >>604
何がしたいのかよくわからないけど、エスパーすると Cソースで変数のセクションを指定して、リンカでそのセクションの配置を 期待するアドレスに配置すればいいんじゃないかな。
- 628 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:09:23.11 ID:0ihjlnG/0.net]
- struct a{
int a; int b; }; struct a x[100]; void *v=x; void *h(int n, int s){ return ((char *)v+n*s); } struct a *i(int n){ return &x[n]; } 同じことをしているのにhは掛け算するのにiは掛け算をアドレッシングモードでしているので 処理速度の差が生まれてしまいます。
- 629 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:12:26.75 ID:0ihjlnG/0.net]
- 自己解決しました。
- 630 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:12:50.68 ID:EmWkiz+YM.net]
- struct aにキャストしてから計算すればいいという話ではなくて?
- 631 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:18:06.83 ID:0ihjlnG/0.net]
- nかsは定数じゃないと駄目みたいでした。
- 632 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:31:41.16 ID:k+G5ovIGM.net]
- sがなんだかわからないけど
void *h(int n, int s){ return ((struct a *)v+n*s); } じゃだめなん? s=1ならi()と同じだと思うけど。
- 633 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:37:07.82 ID:0ihjlnG/0.net]
- struct a *は8バイトなので8を入れればよいのです。
- 634 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:40:49.01 ID:v3bCx+j3M.net]
- ブロックサイズみたいなイメージかな。
だったらsizeof(struct a)にしたほうがよいかと。
- 635 名前:デフォルトの名無しさん [2018/03/26(月) 13:35:11.46 ID:ioIbXl47a.net]
- >>612
それは違う環境に持っていってコンパイルしたら破綻するかも知れない。 やはりsizeof使うかそのまんまポインタ計算させた方が良いのでは?
- 636 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 14:37:40.54 ID:g7RAb+fM0.net]
- 最適化されたらおんなじじゃね?
- 637 名前:片山博文MZ mailto:sage [2018/03/26(月) 14:44:36.91 ID:42MV7MT1d.net]
- struct a*のサイズは32-bit 環境だと4だよな。64ビットだと8バイト。
- 638 名前:片山博文MZ mailto:sage [2018/03/26(月) 14:47:59.15 ID:42MV7MT1d.net]
- ポインタを操作するなら、size_tとかptrdiff_t使った方がいいな。
- 639 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 15:00:59.23 ID:+d/fyZgca.net]
- >>616
ここでは構造体の実体の配列だからsizeof(struct a)で大丈夫。 int1つのサイズは典型的には4byteだけど、IP64だのあまり見ない データモデルでは8byteのこともあるから、構造体のサイズを使うときは sizeofがよい(MAY)、ではなくてsizeofにすべき(ほぼMUSTのSHOULD)。
- 640 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 17:51:14.16 ID:wby0cWXW0.net]
- >>598
おまえさんが言いたいのは、これのことか? https://ideone.com/NITIUP
- 641 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 17:52:53.38 ID:5fqWa8qC0.net]
- 本買うならどれがいい?
本より優れたサイトがあるならそれでもいいぞ
- 642 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/26(月) 19:16:37.53 ID:b1dSvJWqM.net]
- >>620
きつねさんとおぼえる clang きつねさんとおぼえる clang おかわり
- 643 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 07:05:39.20 ID:VOv2iUaR0.net]
- struct a{
bool a:1; uint32_t b:31; uint16_t c; }; struct a{ uint32_t b; uint16_t c; bool a; }; 上の構造体が12バイツでしたが8バイツの理由がわかりません、上を8バイツにしたいです。
- 644 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 07:14:25.16 ID:6oSpwfuc0.net]
- C言語のboolって何バイト?
C++だとINTと等価なことがそれなりにあるんだけど。
- 645 名前:デフォルトの名無しさん [2018/03/27(火) 07:32:57.91 .net]
- >>622
よく分からないんだけど、2つ構造体を書いてるのは何を意図してるの?
- 646 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 07:57:42.10 ID:tnecWY6M0.net]
- >>622
俺の環境ではどっちのsizeofの値も8バイツを返したから環境依存だろう。 #pragma か
- 647 名前:__attribute__ で詰め込めるかも知れんけど、
ビットフィールドを狙って使える指定方法があるかどうか。 詰めたら詰めたで6バイツや7バイツになっちゃう危険もあるし。 >>623 <stdbool.h> にどう書いてあるかだろうな。 これも試したら sizeof(bool) に1を返した。 <stdbool.h> の実体を思しきファイルを覗いたら #define _Bool signed char #define bool _Bool の連鎖になってた。typedefでないのが少々意外。 #ifdef で定義済か未定義かを判定できるようにするためだろうか。 [] - [ここ壊れてます]
- 648 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 08:47:18.29 ID:/RdC4ccn0.net]
- >622
uint32_t b; がバイト境界にひっかかったせいじゃね?
- 649 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 08:57:59.42 ID:9ekvYNlc0.net]
- コレナンデ境界
- 650 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/27(火) 09:51:51.20 ID:GW1/xmrB0.net]
- アライメント
- 651 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 10:02:58.62 ID:i2YWXGc+0.net]
- alignment
Емельяненко なんで日本人は「ん」を飛ばすかねえ
- 652 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 10:04:40.74 ID:/RdC4ccn0.net]
- 間抜けな回答してるな>オレ
|| || ∧||∧ ( / ⌒ヽ | | | ∪ / ノ | || ∪∪ -━━-
- 653 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 10:37:30.96 ID:UpIjn8oG0.net]
- >629
>なんで日本人は「ん」を飛ばすかねえ 「全て」の日本人が「ン」を飛ばすわけではありません。 「或る」日本人が「ン」を飛ばすだけです。 ところで、ロシア語の Емельяненко(エメリャネンコ) とはどういう意味ですか。手元の「ロ日辞典」をひいても でていないので
- 654 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:17:02.05 ID:VOv2iUaR0.net]
- struct a{
bool x:1; uint32_t y:31; }; しらべたらこれの大きさが8バイツでした sizeof(struct a)とやったらそうなったのでアラインメントのもんだいではありません。 どうしても4バイツにしたいです
- 655 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:20:50.14 ID:949beg24p.net]
- 型を揃えるか、ブラグマ指定する、
- 656 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:22:01.11 ID:6oSpwfuc0.net]
- もしかして変数を分解しようとしてる?
Unionってしってるかー?
- 657 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:24:10.52 ID:949beg24p.net]
- 構造体宣言に
__attribute__((packed)) を挟む
- 658 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:26:05.22 ID:6oSpwfuc0.net]
- C++なら、無名うにおんとかつかえて楽なんだけど、Cは一々名前がつくので面倒。
- 659 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:26:08.96 ID:949beg24p.net]
- 両方uint32_tにすりゃいいだろ。
- 660 名前:デフォルトの名無しさん [2018/03/27(火) 11:26:51.67 ID:VOv2iUaR0.net]
- struct a{
uint32_t a:1; uint32_t y:31; }; こうやったらできました ビットフィールドを勘違いしていたのが原因みたいです。
- 661 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:27:20.90 ID:6oSpwfuc0.net]
- あら、そっちか。
- 662 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 11:36:24.22 ID:VOv2iUaR0.net]
- struct a{
union{ bool a:1; struct{ uint32_t x:1; uint32_t y:31; }; }; }; つまりこうしたらよいのですね。 勉強になりました。ありがとうございます。
- 663 名前:デフォルトの名無しさん [2018/03/27(火) 12:00:48.00 .net]
- >>640
これ、bool aとuint32_t xが同じ値であることがどの環境下でも保証されてるの? 教えてエロい人
- 664 名前:デフォルトの名無しさん [2018/03/27(火) 12:36:27.71 ID:NeN1yqDWa.net]
- >>622
ビットフィールドって同じ型が並んでないとまとめてくれないのでは? なので、 bool a:1; uint32_t b:31; ではなくて uint32_t a:1; uint32_t b:31; にしたらできないか?
- 665 名前:デフォルトの名無しさん [2018/03/27(火) 12:39:07.90 ID:NeN1yqDWa.net]
- 既に答えが出て解決していた
|| || ∧||∧ ( / ⌒ヽ | | | ∪ / ノ | || ∪∪ -━━-
- 666 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 12:44:29.48 ID:i2YWXGc+0.net]
- >>631
姓だよ、とある有名人の 国内ではエメリヤエンコということになっている
- 667 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 13:11:29.05 ID:VOv2iUaR0.net]
- https://ideone.com/GfSSSt
上のコードみてください。 なぜか上の構造体を使って初期化すると値がただしくなりません。 なぜですか?
- 668 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 13:53:29.94 ID:KACb5w790.net]
- >>645
どこが正しくないのか説明してもらわないとたぶん
- 669 名前:誰も分からない []
- [ここ壊れてます]
- 670 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 15:15:12.36 ID:VOv2iUaR0.net]
- https://ideone.com/WeAoO6
なにものかにコードが書き換えられたみたいです 正しくは上のコードを見てください。
- 671 名前:片山博文MZ mailto:sage [2018/03/27(火) 15:32:49.24 ID:eCLpRZm+d.net]
- unionにビットフィールドは使えないっしょ。
- 672 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 15:42:37.68 ID:jWaORT7c0.net]
- >>647
struct a a={.y=1, .a=true}; ここを struct a a={.a=true, .y=1,}; こう書き換えると動作が変わる。 何故変わるか考えてみよう。
- 673 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 15:45:46.56 ID:jMKP3TFv0.net]
- struct になってない単変数でのビットフィールドって
結局支持された型の空間をめいっぱい使って書いてるんでないの
- 674 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 16:45:45.41 ID:VOv2iUaR0.net]
- >>648
直しました >>649 考えてもわかりませんでした
- 675 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 17:22:21.42 ID:tnecWY6M0.net]
- >>637-638 >>642
ビットフィールドの詰め込み方だけど、 「同じ型の並びならまとめる、異なる型同士はまとめない」、 「型に関係なくまとめる」、(他にもパターンあるかも…)、 どれになるかは環境依存だからアテにしてると移植性の問題にハマるよ。 ビットフィールドは内部的な配置を気にしない場合だけ使うのが鉄則。 >>622 の流れからすると、ビットフィールドを含む構造体は sizeof が返すバイト数も気にしちゃいけないね。
- 676 名前:デフォルトの名無しさん [2018/03/27(火) 17:46:09.15 .net]
- >>647
unionの中にもう一つstruct uint32_t b0:1; 〜 uint32_t b31:1; を入れてみて、b0〜b31をオール0、その次はオール1にして aやyに代入するたびにb0〜b31がどう変化するかを確かめればいいと思うよ。
- 677 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 18:48:56.23 ID:lphBpvplM.net]
- gotoは要らない子?
- 678 名前:デフォルトの名無しさん [2018/03/27(火) 19:18:17.87 ID:NeN1yqDWa.net]
- >>652
コンパイラによっては型に関係なく並べるのもあるのか。知らなかった。
- 679 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 09:16:12.84 ID:UsIzsSLh0.net]
- unionで共用関係作っても、詰め込み順が統一されてる保証は無いからなぁ。
んなトリッキーな処理は、移植ん時死ねるぞ。
- 680 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 09:21:05.87 ID:hD+ZgK6z0.net]
- ビットフィールドの順番がコンパイラによって違うのには参った
- 681 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 09:27:44.69 ID:txGSPNwpa.net]
- >>657
エンディアンの違いで逆順になるのは昔からあるな。 コンパイルオプションでなんとかなるといいんだけどな。
- 682 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 15:08:36.90 ID:NO5LUaew0.net]
- いやあ、そんなドジ踏んだことないし
踏んだやつも見かけないなあ unionなんか使うときはそういう危険性には 真っ向から対峙しているのでうっかり考え落とす なんてことは起こりえない ポインタをキャストするときのほうが危ないぞ unionよりも遙かに使用頻度が高くて油断しがち
- 683 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 16:15:36.83 ID:zOM5QtYn0.net]
- >>659
たしかに
- 684 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 20:45:19.82 ID:inZxrYqzp.net]
- 普段からアライメント気にしない石使ってると死ぬるw
- 685 名前:デフォルトの名無しさん [2018/03/29(木) 00:01:16.65 ID:ySkkjEPJa.net]
- 野積み
- 686 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/29(木) 00:09:03.12 ID:X8gSQriyM.net]
- SIG11
- 687 名前:デフォルトの名無しさん [2018/03/29(木) 00:30:03.68 ID:HYrXjV+u0.net]
- >>654
出来の悪い子ほど可愛いものさ
- 688 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 02:58:45.40 ID:Ng8O1HeK0.net]
- GOTOはその場所より基本上流に流しちゃいけない。
- 689 名前:サれだけ守ってればいいと思う。 []
- [ここ壊れてます]
- 690 名前:デフォルトの名無しさん [2018/03/29(木) 03:06:08.42 .net]
- if文とかfor文の中に飛ばすのもダメだろ
関数末尾以外に飛ばすのは基本アカンと思う
- 691 名前:デフォルトの名無しさん [2018/03/29(木) 07:24:44.79 ID:+dX3Weor0.net]
- gotoとswitchの組み合わせはよくやる。
- 692 名前:デフォルトの名無しさん [2018/03/29(木) 22:57:50.45 ID:HYrXjV+u0.net]
- >>667
switch と goto と聞いて、はっもしやこんなこともできるのでは、と思ってやってみたら、できてしまったよ。どうしよう。 #include <stdio.h> int main() { int i; for (i = 0; i < 10; i++) { if (i == 5) goto hoge; switch (i) { case 1: puts("いち"); break; hoge: puts("ご"); break; } } return 0; }
- 693 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 13:01:35.10 ID:fkO+Wt7Ma.net]
- 情報処理用にC頑張り始めたンスけど、初心者本は2冊くらい終えて、簡単なプログラムならあるていど作れるようにもなったんスけど、FEの過去問には全く歯がたたないっすw
- 694 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 13:03:50.38 ID:fkO+Wt7Ma.net]
- 初見の歯抜けプログラムみて選択肢与えられてもなんだかさっぱり読み切れん…
中級本の内容の方がまだ簡単なんスけどニキこれなんなんすか
- 695 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 13:04:58.91 ID:n1WKWzHR0.net]
- Duff's deviceっていうスイッチの中にループがあるのもある
- 696 名前:デフォルトの名無しさん [2018/03/30(金) 16:19:34.10 ID:zQBQo8b30.net]
- >>668
おめ はげめ
- 697 名前:デフォルトの名無しさん [2018/03/30(金) 16:22:11.93 ID:bDuRGN0f0.net]
- >>668
goto default;
- 698 名前:デフォルトの名無しさん [2018/03/30(金) 16:55:37.88 ID:InC0asnz0.net]
- あれにはそういう名前があったのか。ありがとう。
- 699 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 17:55:35.60 ID:6y8tfNRe0.net]
- 同じく
名前は知らんかった
- 700 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 19:36:36.57 ID:FHOFausT0.net]
- 値の入れ替え処理ってどう描けばいいんや
- 701 名前:片山博文MZ mailto:sage [2018/03/30(金) 19:38:47.12 ID:9udtptfNd.net]
- >>676
int tmp = a; a = b; b = tmp; もしくは std::swap(a, b);
- 702 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/30(金) 19:42:57.58 ID:TqB3XhjJM.net]
- a = a ^ b;
b = a ^ b; a = a ^ b;
- 703 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 19:46:21.82 ID:FHOFausT0.net]
- >>677
mainから分離させると void Swap() { std::swap(a,b); } こうなるってこと??
- 704 名前:片山博文MZ mailto:sage [2018/03/30(金) 19:47:24.27 ID:9udtptfNd.net]
- a ^= b;
b ^= a; a ^= b;
- 705 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 19:49:14.07 ID:sxHgkaP90.net]
- >>678
b の実体が a だと a = 0 になってしまう、とは頻繁に指摘されるところ
- 706 名前:片山博文MZ mailto:sage [2018/03/30(金) 19:49:30.92 ID:9udtptfNd.net]
- void myswap(int *pa, int *pb)
{ int tmp = *pa; *pa = *pb; *pb = tmp; }
- 707 名前:デフォルトの名無しさん [2018/03/30(金) 20:19:58.73 ID:x2Z4e+RCa.net]
- >>677
それC++だよね。
- 708 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:29:07.56 ID:zSEpPQDd0.net]
- ワザとだと思います
- 709 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:32:46.73 ID:3ziE5qsO0.net]
- 値の入れ替えってどういう局面で使うの?
- 710 名前:片山博文MZ mailto:sage [2018/03/30(金) 20:35:46.51 ID:9udtptfNd.net]
- >>685
ソートとか、順番を変えるときとか、データの入れ替えなど。
- 711 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:37:07.43 ID:N/erQ4tDM.net]
- ソート
他では見かけない
- 712 名前:片山博文MZ mailto:sage [2018/03/30(金) 20:42:10.63 ID:9udtptfNd.net]
- 音楽のシャッフルなんかもswap使っている。
- 713 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:49:54.40 ID:3ziE5qsO0.net]
- ああ、int aとかじゃなくて配列要素に使うのね
納得ありがとう
- 714 名前:片山博文MZ mailto:sage [2018/03/30(金) 20:53:18.14 ID:9udtptfNd.net]
- 配列要素やポインタにも使える。この入れ替えアルゴリズムを抽象化するとC++のstd::swapになる。
- 715 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 23:15:31.22 ID:sWH8jgUv0.net]
- goto LABEL0;
{ int i = 1; /* 初期化 */ int j; j = 1; /* 代入 */ LABEL0: printf("%d %d\n", i, j); }
- 716 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 01:54:40.82 ID:OnKsCXxga.net]
- Mapみたいな連想配列使いたいんだが何使えばええんや
- 717 名前:デフォルトの名無しさん [2018/03/31(土) 03:57:34.23 ID:2Z4gCLvWa.net]
- switchのラベルって違うswitch(){}の中なら重複してても使えるやん?
それで goto HOGE; したらどっちに飛ぶ?
- 718 名前:デフォルトの名無しさん [2018/03/31(土) 03:58:50.47 ID:2Z4gCLvWa.net]
- >>681
ならねーよΩ
- 719 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 07:10:32.62 ID:1xZcLHDp0.net]
- >>694
>>678 のアルゴリズムには重大な欠陥がある、という点は頻繁に指摘されることですよ、知らないの? https://ideone.com/uYFQRK
- 720 名前:デフォルトの名無しさん [2018/03/31(土) 07:17:07.25 .net]
- if (a != b) {
a = a ^ b; b = a ^ b; a = a ^ b; }
|

|