[過去ログ]
C言語なら俺に聞け 160 (1002レス)
C言語なら俺に聞け 160 http://mevius.5ch.net/test/read.cgi/tech/1672191630/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん (ワッチョイ ff63-dxp0) [sage] 2022/12/28(水) 10:40:30.02 ID:PyoNDBFu0 !extend:checked:vvvvv:1000:512 (新スレ立ての際上記コマンドを2行書き込んでください) C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ http://codepad.org/ C17 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf C11 http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C23 最新ドラフト https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf C99 http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf http://kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 http://www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 159 https://mevius.5ch.net/test/read.cgi/tech/1659623547/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured http://mevius.5ch.net/test/read.cgi/tech/1672191630/1
903: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:52:08.54 ID:1sJZVfCp0 https://www.shinjuku-i-land.jp/assets/img/art/img_art-list_3.jpg http://mevius.5ch.net/test/read.cgi/tech/1672191630/903
904: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:53:14.30 ID:1sJZVfCp0 とても長くて太くて大きくて重そう http://mevius.5ch.net/test/read.cgi/tech/1672191630/904
905: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 06:48:43.44 ID:NgkNjGWQ0 >>899 それってあなたの感想ですよね http://mevius.5ch.net/test/read.cgi/tech/1672191630/905
906: デフォルトの名無しさん (ワッチョイ bd02-oFYy) [sage] 2023/04/12(水) 08:59:58.23 ID:HQz+hF5G0 もうそれ秋田 http://mevius.5ch.net/test/read.cgi/tech/1672191630/906
907: デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:42:14.25 ID:+8HledSTa 0終端の良い所は可変長でどんなに長い文字列でもメモリが許す限り文字列を続けられる もちろんデメリットは長さがすぐに判らない 逆に長さを持って struct {size_t len; char hoge[0]} Str; みたいな構成にするのもありだが 例えば Str *s = (Str *)malloc(len + sizeof(Str)); で確保して使う 後者のデメリットは size_t len の最大値までしか文字を格納出来ないこと struct {short len; char hoge[0]} Str; みたいな実装もたまに観るからあなどれない http://mevius.5ch.net/test/read.cgi/tech/1672191630/907
908: デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:51:49.32 ID:+8HledSTa >>838 C++だと vector の size() が size_t を還して for(int i = 0; i < v.size(); ++i) って描くと警告出るので for(int i = 0; i < (int)v.size(); ++i) にするとさらに警告出て鬱陶しいから for(size_t i = 0; i < v.size(); ++i) にするアホな例はよく観るってどっかのサイトに描いてあった http://mevius.5ch.net/test/read.cgi/tech/1672191630/908
909: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/12(水) 12:32:16.29 ID:81IdaWl4M C++ならイテレーター使えよ… http://mevius.5ch.net/test/read.cgi/tech/1672191630/909
910: デフォルトの名無しさん (ワッチョイ 495f-cPl8) [sage] 2023/04/12(水) 12:42:43.03 ID:Q+QfGKpq0 vectorはランダムアクセスがウリだからイテレータ使わないこともよくあるね http://mevius.5ch.net/test/read.cgi/tech/1672191630/910
911: デフォルトの名無しさん (スプープ Sd82-VdbI) [sage] 2023/04/12(水) 13:01:34.03 ID:N6w93SJGd >>899 「文字列の終端までの長さ」ですが何か? http://mevius.5ch.net/test/read.cgi/tech/1672191630/911
912: デフォルトの名無しさん (ワッチョイ c5c9-hq/O) [sage] 2023/04/12(水) 13:23:26.32 ID:3jp3M04i0 (文字列の)文字数 http://mevius.5ch.net/test/read.cgi/tech/1672191630/912
913: デフォルトの名無しさん (ワッチョイ c69a-gTA8) [sage] 2023/04/12(水) 13:42:24.69 ID:dS1BcMQZ0 >>909 コードによってはインデックスでアクセスしたいこともあるから... http://mevius.5ch.net/test/read.cgi/tech/1672191630/913
914: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:15.96 ID:gJHWYvs7a 「アホな例」と書く意味が分からん ちゃん型を使うべきだろ http://mevius.5ch.net/test/read.cgi/tech/1672191630/914
915: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:40.50 ID:gJHWYvs7a ちゃんと型を使うべきだろ http://mevius.5ch.net/test/read.cgi/tech/1672191630/915
916: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:59:47.55 ID:gJHWYvs7a そもそも「アホな例」じゃないとLP64でおかしなことになるよね http://mevius.5ch.net/test/read.cgi/tech/1672191630/916
917: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 14:05:32.31 ID:NgkNjGWQ0 struct X; void func(struct X[]); //error struct Y { int a; }; void func(struct Y[]); //ok 不完全型の場合、仮引数の[]はポインタにならない?? ちな、gccではエラー、clでは通る http://mevius.5ch.net/test/read.cgi/tech/1672191630/917
918: デフォルトの名無しさん (スップ Sd82-qF+M) [] 2023/04/12(水) 14:17:34.62 ID:mayblUPzd C++だと通ったね gcc/clangのCだとX[]は許されないけどX*は許される 関数宣言より前にX型の定義がないとコンパイルが通らなかった http://mevius.5ch.net/test/read.cgi/tech/1672191630/918
919: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 14:55:48.73 ID:NgkNjGWQ0 どっちが正しいのかね http://mevius.5ch.net/test/read.cgi/tech/1672191630/919
920: デフォルトの名無しさん [sage] 2023/04/12(水) 15:04:32.82 ID:219MxBT/0 >>907 馬鹿な私に少しだけアドバイスを それってsize_tのビット幅 < システム(OS)のビット幅と言う条件下での話なんでしょうか? size_tがシステム(OS)のビット幅と同じならメモリで管理できるものは必然的にsize_tでも表現できると思うのですが メモリ上で管理できているゼロ終端文字列をsize_tで表現できない場合ってあるんですか? まあ一部の組み込みとかならあるかも知れませんが…… けどそういう環境の場合strlenなどのsize_tで返す場合でも表現できなくなるわけで、結局size_tに依存することになってどっちでも同じじゃないかと思うんですがどうなんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1672191630/920
921: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/12(水) 15:07:46.44 ID:gccG0Jwg0 >>919 規格は知らんけど配列とポインタは違うんだからエラーで弾くのは正論だと思うけどね 通す処理系はその後の整合性をユーザーが担保する前提の思想なんでしょ http://mevius.5ch.net/test/read.cgi/tech/1672191630/921
922: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:09:16.06 ID:NgkNjGWQ0 >>921 仮引数に限っては*と[]は同じはず 不完全型だけ例外というのは気持ち悪い http://mevius.5ch.net/test/read.cgi/tech/1672191630/922
923: デフォルトの名無しさん [sage] 2023/04/12(水) 15:15:29.08 ID:219MxBT/0 >>908 もう一つ無知なる私にアドバイスをお願いします size_t len までは文字を格納出来ると>>907から読み取りましたが sizeof(size_t)==sizeof(int) の場合 vector v のサイズがINT_MAX以上だった場合、 i < (int)v.size() ではプログラマーが予期しない動作になりませんか? http://mevius.5ch.net/test/read.cgi/tech/1672191630/923
924: デフォルトの名無しさん (ワッチョイ 412d-dXWb) [sage] 2023/04/12(水) 15:27:40.89 ID:7SV2gFKB0 size_t が符号なし整数型 int が符号付き整数型 http://mevius.5ch.net/test/read.cgi/tech/1672191630/924
925: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/12(水) 15:34:06.47 ID:gccG0Jwg0 >>922 はずだかなんだか知らねーけど、そんなことはどうでも良くてサイズの分からないオブジェクトの配列は作れんって言ってんだよ 操作上の違いはともかく配列として宣言したんなら関数内では配列として扱うってことを示唆してるわけだろ 仮にそのfuncだかって名前の関数の中にX[3]とかX+5って書かれたらどうやってアドレス出すんだってことよ 動作に違いがあるってことは規格がそれを許してる箇所なんだろうけど弾いてる処理系はそういう考えなんだろう http://mevius.5ch.net/test/read.cgi/tech/1672191630/925
926: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:53:08.00 ID:NgkNjGWQ0 >>925 仮引数はその場に配列を作り出したりはしないという基本が合意できない以上 これ以上おまえさんと話すのは無駄だな http://mevius.5ch.net/test/read.cgi/tech/1672191630/926
927: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:53:49.38 ID:NgkNjGWQ0 > 規格は知らんけど この時点で気付くべきだった http://mevius.5ch.net/test/read.cgi/tech/1672191630/927
928: デフォルトの名無しさん (ワッチョイ a910-Ay2p) [sage] 2023/04/12(水) 15:55:21.15 ID:1mphmeyq0 Cはアセンブラの代用言語。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/928
929: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea) [sage] 2023/04/12(水) 16:36:09.61 ID:bThMVtxz0 >>917 規格的には (関数定義の一部ではない) 宣言の段階なら不完全型であることを許しているように読める。 C99 だと 6.7.5.3 の第 12 段落に書かれている。 > If the function declarator is not part of a definition of that function, > parameters may have incomplete type and may use the [*] notation in their sequences of > declarator specifiers to specify variable length array types. > 関数宣言子が関数定義の一部ではない場合,仮引数の型は不完全型でもよく, > また宣言指定子列に [*] を使って可変長配列型を指定してもよい。 ちなみに GCC だと以下のようなものもエラーだが MSVC だと通る。 struct X; typedef struct X Y[10]; http://mevius.5ch.net/test/read.cgi/tech/1672191630/929
930: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 16:59:41.80 ID:NgkNjGWQ0 >>929 ㌧X 安心した http://mevius.5ch.net/test/read.cgi/tech/1672191630/930
931: デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/12(水) 23:57:31.43 ID:ysjFLZAD0 >>917 Cではエラーになるのが規格準拠の動作。 ただし宣言の形式を変えるだけで通る理不尽な制約でありC++では許されるように改められている。 https://stackoverflow.com/questions/50503501/an-error-about-c-struct-array-in-formal-parameter http://mevius.5ch.net/test/read.cgi/tech/1672191630/931
932: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea) [sage] 2023/04/13(木) 00:37:34.59 ID:y5cvZaYN0 >>931 そこでも言及されてるけど 型調整 (配列がポインタに読み替えられる) が優先されるか配列宣言子としての解釈が優先されるかって曖昧じゃない? 読み替えより先に配列宣言子として解釈すべきと確信できるような記述ってある? 常識的には曖昧なら厳しい側の制約で解釈すべきだわなーとは思うけど陽には書かれてないように思う。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/932
933: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/13(木) 02:04:44.32 ID:o3x890Fi0 >>907 昔々の PASCAL はそんな感じだったな。先頭1バイトに文字列のバイト数が入っていてその後に文字列がある。 当然それだと255バイトまでしか入らないのでもっと長い文字列を扱いたい時に苦しむことになる。 まあでも 8 bit とか 16 bit CPU のマイコンやパソコンにそういう高い要求は最初の頃はあまりなかったのでなんとかなっていた。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/933
934: デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/13(木) 02:23:46.11 ID:jklAk1E50 >>932 プログラム内に制約 (constraint) 違反がある状態なので、前後関係がどっちだろうと 少なくとも制約違反について診断メッセージを出力しないと規格準拠とは言えない。 > A conforming implementation shall produce at least one diagnostic message ... > ... if a preprocessing translation unit or translation unit contains a violation > of any syntax rule or constraint, ... 「通る」が警告も出ずプログラム実行までできる状態と解釈してたけど、 エラーにはならないものの警告が出ているならそれも規格準拠とは言えそう。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/934
935: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/13(木) 08:28:10.40 ID:zEEI4t8g0 https://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_047.html 仮引数の[]は、一旦は配列として受理し、その後でポインタに調整されるってことか http://mevius.5ch.net/test/read.cgi/tech/1672191630/935
936: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/13(木) 08:28:50.25 ID:zEEI4t8g0 VCで通るのは、VLAがないからってこと? http://mevius.5ch.net/test/read.cgi/tech/1672191630/936
937: デフォルトの名無しさん (スップ Sd82-VdbI) [sage] 2023/04/13(木) 23:35:55.91 ID:DvwX4ZoKd 間違ってる http://mevius.5ch.net/test/read.cgi/tech/1672191630/937
938: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/13(木) 23:48:57.98 ID:wWKtbXV/0 マスク無死でラーメン食いたい奴は、まず住所を書いて見てよ その場所にノーマスクで食えるラーメン屋作らないといけないんだろ? 政府が作るのかな? http://mevius.5ch.net/test/read.cgi/tech/1672191630/938
939: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/13(木) 23:55:11.99 ID:wWKtbXV/0 ごめん、誤爆 http://mevius.5ch.net/test/read.cgi/tech/1672191630/939
940: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/13(木) 23:55:19.80 ID:o3x890Fi0 はあ http://mevius.5ch.net/test/read.cgi/tech/1672191630/940
941: デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/14(金) 01:01:11.22 ID:E99e4anP0 そのキモいレスをどこで発表するつもりだったのか http://mevius.5ch.net/test/read.cgi/tech/1672191630/941
942: ◆QZaw55cn4c (ワッチョイ 07e6-DPrL) [sage] 2023/04/15(土) 19:42:43.70 ID:JbgATxBi0 最近のLANカードで他力給電のものばかりのようですね、クロスケーブルでピアツーピアできるPCIe のカードって存在しないものですかね… 結局 hub を使っちまった、もったいないなあ http://mevius.5ch.net/test/read.cgi/tech/1672191630/942
943: ◆QZaw55cn4c (ワッチョイ bfba-DPrL) [sage] 2023/04/16(日) 20:11:08.29 ID:4UlFU6Wr0 chatGPTって面白いね…もうgoogle はいらないや http://mevius.5ch.net/test/read.cgi/tech/1672191630/943
944: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) [sage] 2023/04/16(日) 21:13:37.76 ID:Ot5nnykg0 C スレで言うことか? http://mevius.5ch.net/test/read.cgi/tech/1672191630/944
945: デフォルトの名無しさん (ワッチョイ 2763-2Cuq) [sage] 2023/04/16(日) 21:23:02.75 ID:H2kHWHvu0 人工知能とはなんたるや、これがわかってないやつ多いのは仕方ないけど ム板でこれは由々しきことだな http://mevius.5ch.net/test/read.cgi/tech/1672191630/945
946: デフォルトの名無しさん (ワッチョイ 7f63-sFbk) [sage] 2023/04/16(日) 21:48:52.61 ID:zHRI9OsR0 煽ってるだけやろ http://mevius.5ch.net/test/read.cgi/tech/1672191630/946
947: ◆QZaw55cn4c (ワッチョイ bfba-sFbk) [sage] 2023/04/16(日) 22:57:10.75 ID:4UlFU6Wr0 スレ終盤恒例のウダウダ話ですよ、たまにはいいじゃあ、ありませんか! http://mevius.5ch.net/test/read.cgi/tech/1672191630/947
948: デフォルトの名無しさん (ワッチョイ 7f63-sFbk) [sage] 2023/04/16(日) 23:00:41.18 ID:zHRI9OsR0 chatGPT関連のスレは6本も立ってるので、好きな場所でやってください (盛り上がったら誘導してくれてもいいです) http://mevius.5ch.net/test/read.cgi/tech/1672191630/948
949: デフォルトの名無しさん (ワッチョイ c7b3-5oiz) [sage] 2023/04/17(月) 02:44:28.44 ID:PilU+QdE0 数値の各桁を足す関数を考えました 100点中何点? (引数nが2023なら2+0+2+3で7を返す) int chg(int n) { int a; char s[32], tmp[2]; memset(s, 0, sizeof(s)); sprintf(s, "%d", n); a = 0; for(int i=0; i<strlen(s); i++){ memset(tmp, 0, sizeof(tmp)); tmp[0] = s[i]; a += atoi(tmp); } return a; } http://mevius.5ch.net/test/read.cgi/tech/1672191630/949
950: デフォルトの名無しさん (ワッチョイ 5f79-uE6i) [sage] 2023/04/17(月) 02:47:29.33 ID:dBG5z/eM0 数値計算なのにmemsetを使ってる時点で0点 http://mevius.5ch.net/test/read.cgi/tech/1672191630/950
951: デフォルトの名無しさん [sage] 2023/04/17(月) 03:00:26.88 ID:2drVnpNQ0 int chg(int n) { int a; for(a=0;0<n;n/=10) a+=n%10; return a; } http://mevius.5ch.net/test/read.cgi/tech/1672191630/951
952: デフォルトの名無しさん (ワッチョイ 5fad-sFbk) [] 2023/04/17(月) 03:01:25.01 ID:g2jYQi3l0 >>949 それわざわざ文字列にしてからやる必要ないよね。 10で割った余りを足して10で割るのを繰り返せば良いだけだし。 仮に(宿題や問題の都合で)どうしても文字列に直してやらなければならないのだとしても文字列として使う char 配列の 初期化で全部0で埋めるのは処理の無駄だしそんな事をするのはC言語における文字列の扱いについてよく分かって いないことの現れだと思う。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/952
953: デフォルトの名無しさん (ワッチョイ a702-em59) [sage] 2023/04/17(月) 03:41:54.19 ID:fyienZF80 30点 みんなもっと優しくしてあげなよ。ゴキブリだって生きてるんだぞ http://mevius.5ch.net/test/read.cgi/tech/1672191630/953
954: デフォルトの名無しさん (ワッチョイ 4702-1OZE) [sage] 2023/04/17(月) 06:01:50.96 ID:WvGymo4J0 あかん! マイナスの場合はどうするねん http://mevius.5ch.net/test/read.cgi/tech/1672191630/954
955: デフォルトの名無しさん (ワッチョイ a702-em59) [sage] 2023/04/17(月) 06:38:08.16 ID:fyienZF80 >>951 nが負の場合は? http://mevius.5ch.net/test/read.cgi/tech/1672191630/955
956: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 08:14:09.28 ID:TjOyN7pL0 if (n < 0) n = -n; http://mevius.5ch.net/test/read.cgi/tech/1672191630/956
957: デフォルトの名無しさん (ササクッテロロ Spfb-tEYI) [] 2023/04/17(月) 09:53:06.18 ID:MNSyV7UUp 文字列で与えなきゃデカい数字が扱えないやん http://mevius.5ch.net/test/read.cgi/tech/1672191630/957
958: デフォルトの名無しさん (ワッチョイ c75f-nEk4) [sage] 2023/04/17(月) 10:26:43.64 ID:jOIYUxZw0 int chg(int n) { int a=0,b; while(n) { b=n/10; a+=n-b*10; n=b; } http://mevius.5ch.net/test/read.cgi/tech/1672191630/958
959: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 10:57:06.60 ID:TjOyN7pL0 >>957 int で受けて 文字列化してるからちょっと 最初から文字列で受けてるなら一考の余地はあるかもね http://mevius.5ch.net/test/read.cgi/tech/1672191630/959
960: デフォルトの名無しさん (ワッチョイ 2763-2Cuq) [sage] 2023/04/17(月) 10:57:27.95 ID:I3IibvEZ0 957涙目だなw http://mevius.5ch.net/test/read.cgi/tech/1672191630/960
961: デフォルトの名無しさん (テテンテンテン MM8f-/v6j) [sage] 2023/04/17(月) 12:21:07.80 ID:sfjAbensM プログラミングには最低限の数学的な素養が必要な事が証明された… 科学技術計算を扱わないとしても、計算論とか数学とは切っても切れない関係にある http://mevius.5ch.net/test/read.cgi/tech/1672191630/961
962: デフォルトの名無しさん (ワッチョイ 5f97-3fkD) [sage] 2023/04/17(月) 12:50:21.20 ID:9nZn/y+b0 銀行の勘定系でも四則演算の知識は必要だし http://mevius.5ch.net/test/read.cgi/tech/1672191630/962
963: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 12:56:30.89 ID:TjOyN7pL0 文字列を受ける場合 int chg(const char* s) { int ret = 0; char tmp[2] = { 0 }; while (*s && !isdigit(*s)) s++; /*数字じゃないところは飛ばす */ if (*s) { while (*s && isdigit(*s)) { /* 数字が連続している間だけ */ tmp[0] = *s; ret += atoi(tmp); s++; } } return ret; } 環境依存で isdigit(*s) を ('0'<=*s && *s <='9') に tmp[0] = *s; ret += atoi(tmp); を ret += s[0] - '0'; に 置き換えることもできるかもしれない http://mevius.5ch.net/test/read.cgi/tech/1672191630/963
964: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) [sage] 2023/04/17(月) 13:07:40.29 ID:FYaudfJt0 >>963 > 環境依存で 数字に対応する文字コードが連続で昇順に並んでいることは 言語仕様で保証されている。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/964
965: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 13:15:24.09 ID:TjOyN7pL0 >>964 さんきゅう 数字は保障されてたか http://mevius.5ch.net/test/read.cgi/tech/1672191630/965
966: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 13:21:38.21 ID:TjOyN7pL0 次の while (*s && isdigit(*s)) と意図の一部は重なるし if (*s) はいらんかったね http://mevius.5ch.net/test/read.cgi/tech/1672191630/966
967: デフォルトの名無しさん (スプッッ Sdff-wBI8) [sage] 2023/04/17(月) 15:25:15.58 ID:DnqfCfHpd 今のモダンな言語からしたら一見して下らないやり取りだけど これがC言語なんよね・・・ http://mevius.5ch.net/test/read.cgi/tech/1672191630/967
968: デフォルトの名無しさん (ワッチョイ c75f-nEk4) [sage] 2023/04/17(月) 15:50:16.10 ID:jOIYUxZw0 ハードとアプリのあいだに多くの計算を必要とするソフトの層があるからね OSやらで全部カバーするのは無理だからCは死なない http://mevius.5ch.net/test/read.cgi/tech/1672191630/968
969: デフォルトの名無しさん (アウアウウー Sacb-/q5i) [sage] 2023/04/17(月) 15:51:50.57 ID:kmcXsww3a >>964 漢数字も並んでたら嬉しかったと思いませんか http://mevius.5ch.net/test/read.cgi/tech/1672191630/969
970: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) [sage] 2023/04/17(月) 16:54:39.89 ID:FYaudfJt0 >>969 現実には JIS は読みの順序で Unicode は部首の画数の順序が原則。 漢数字を例外にしたらそれはそれで不格好だし嬉しくない人もいるだろう。 まあ Unicode は後から追加した分だのなんだのでそんなに綺麗に並んでいるわけでもないので どうせぐちゃぐちゃなら数字くらいは並べても良かったんちゃうかなというのは気持ちはわかる。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/970
971: デフォルトの名無しさん (テテンテンテン MM8f-/v6j) [sage] 2023/04/17(月) 17:19:21.10 ID:tJ5lxHq2M 一二三四…Why Japanese people! http://mevius.5ch.net/test/read.cgi/tech/1672191630/971
972: デフォルトの名無しさん (スッププ Sd7f-1OZE) [sage] 2023/04/17(月) 19:13:46.43 ID:92m0URlPd >>967 くくく、、愚かな、、 http://mevius.5ch.net/test/read.cgi/tech/1672191630/972
973: デフォルトの名無しさん (スッププ Sd7f-1OZE) [sage] 2023/04/17(月) 19:21:15.62 ID:92m0URlPd >>954 アンサインドイントで受けたれや! http://mevius.5ch.net/test/read.cgi/tech/1672191630/973
974: デフォルトの名無しさん (アウアウウー Sacb-/q5i) [sage] 2023/04/17(月) 20:38:59.46 ID:RKcegE7fa 壱<弐<参<死<伍<碌<質<八<苦<拾<百<銭<萬 ですね判ります http://mevius.5ch.net/test/read.cgi/tech/1672191630/974
975: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) [sage] 2023/04/18(火) 08:26:27.42 ID:aNj1uNjV0 >>971 英語の綴りの不規則さも大概やないけ! と突っ込んで完成するネタだと個人的には思ってる。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/975
976: デフォルトの名無しさん (スフッ Sd7f-fSvC) [sage] 2023/04/18(火) 14:58:32.85 ID:aePy3OZ8d 未初期化の自動変数には「不定値」が割り当てられる、と調べるたり自分が学んでいる本でも書いていますが、自分のコンパイラは常に「0」になっているようです なぜでしょうか? ちなみにgcc-10です gcc-11だと「不定値」になります http://mevius.5ch.net/test/read.cgi/tech/1672191630/976
977: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ) [] 2023/04/18(火) 15:29:21.41 ID:rjFDtS/R0 不定の値とは「未規定の値又はトラップ表現」と規定されてる。 常に 0 であってもこの規定に反しないよ。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/977
978: デフォルトの名無しさん (スフッ Sd7f-7nfa) [] 2023/04/18(火) 16:27:26.25 ID:U9oAz8h1d >>977 ありがとうございます ちなみに「トラップ表現」とはなんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1672191630/978
979: デフォルトの名無しさん (スフッ Sd7f-foDO) [] 2023/04/18(火) 16:57:48.54 ID:U9oAz8h1d 976です chatgptで調べました C言語の仕様では、自動変数を初期化しない場合、その値は不定とされています。これは、コンパイラがメモリ上で変数を割り当てる際に、その領域が以前に使用されていたデータを含んでいる可能性があるためです。 しかしながら、一部のコンパイラでは、自動変数を0で初期化することがあります。これは、セキュリティ上の理由から、またはコードの可読性を向上させるために行われることがあります。 ただし、コンパイラが自動変数を0で初期化することが保証されているわけではありません。したがって、プログラマは自動変数を使用する前に必ず初期化するように注意する必要があります。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/979
980: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ) [] 2023/04/18(火) 17:04:00.61 ID:rjFDtS/R0 >>978 トラップ表現は「オブジェクト型の値を表現しないオブジェクト表現」ということになってる。 その型としてあり得ないビットパターンってこと。 オブジェクトとして格納されたトラップ表現を文字型ではない左辺値式として読みだした場合の結果は未定義となる。 副作用としてそのような表現が生成される場合も未定義。 C の仕様でいう未定義というのは「何が起きても (たとえば暴走しても) 良い」という意味なので実質的に禁止だと思ってもいいよ。 とはいえ整数型でトラップ表現があるアーキテクチャを私は見たことが無いけどな。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/980
981: デフォルトの名無しさん (スプッッ Sdff-ZLJR) [] 2023/04/18(火) 18:20:39.02 ID:Qric2C4Yd トラップ表現を調べてみたけどほぼほぼ処理系定義絡みなのね signed int16の0x8000は-32768かもしれないし、トラップ表現かもしれない 1の補数系でsigned int16の0xffffは0かもしれないし、トラップ表現かもしれない int32* の4バイト境界に合ってないポインタ(int* p=0x0001)は、強制的に4バイト境界に直されるかもしれないし、トラップ表現かもしれない http://mevius.5ch.net/test/read.cgi/tech/1672191630/981
982: デフォルトの名無しさん (スフッ Sd7f-foDO) [] 2023/04/18(火) 19:26:15.76 ID:U9oAz8h1d >>980 ありがとうございます 勉強になりました http://mevius.5ch.net/test/read.cgi/tech/1672191630/982
983: デフォルトの名無しさん (テテンテンテン MM8f-/v6j) [sage] 2023/04/19(水) 02:26:26.48 ID:Nl7uhZkpM 自分のコンパイラってのを明らかにしてくれ どうしても言えないってならしょうがないが… http://mevius.5ch.net/test/read.cgi/tech/1672191630/983
984: デフォルトの名無しさん (ワッチョイ 6746-KCd8) [] 2023/04/19(水) 02:43:50.96 ID:MHEst9B30 >>983 > ちなみにgcc-10です と書かれている。 http://mevius.5ch.net/test/read.cgi/tech/1672191630/984
985: デフォルトの名無しさん (ワッチョイ 5f4b-zTmk) [sage] 2023/04/19(水) 06:44:34.46 ID:Dcht9s5K0 >>983 バーカ(笑) http://mevius.5ch.net/test/read.cgi/tech/1672191630/985
986: デフォルトの名無しさん (ワッチョイ 2763-7nfa) [] 2023/04/19(水) 06:59:06.58 ID:twYHK80b0 983息してるか?www http://mevius.5ch.net/test/read.cgi/tech/1672191630/986
987: デフォルトの名無しさん (スプッッ Sdff-wBI8) [sage] 2023/04/19(水) 07:47:07.07 ID:BpfZGgoRd かてなおったかな http://mevius.5ch.net/test/read.cgi/tech/1672191630/987
988: デフォルトの名無しさん (ワッチョイ c75f-nEk4) [sage] 2023/04/19(水) 10:03:53.18 ID:rE0e6VM+0 自作コンパイラの話する? http://mevius.5ch.net/test/read.cgi/tech/1672191630/988
989: デフォルトの名無しさん (スプッッ Sdff-wBI8) [sage] 2023/04/19(水) 10:43:43.68 ID:m2bdQTksd いいぜ?お前からな? http://mevius.5ch.net/test/read.cgi/tech/1672191630/989
990: デフォルトの名無しさん (ワッチョイ c75f-nEk4) [sage] 2023/04/19(水) 11:58:53.24 ID:rE0e6VM+0 ぼくはLex&YACCでPL/0を作って満足しました。おわり http://mevius.5ch.net/test/read.cgi/tech/1672191630/990
991: デフォルトの名無しさん (スッップ Sd7f-1OZE) [sage] 2023/04/19(水) 13:12:38.94 ID:IP5wt1Fbd 夜中に路地から飛び出て来たら俺もびびる でも >>991 では語れんわ! http://mevius.5ch.net/test/read.cgi/tech/1672191630/991
992: デフォルトの名無しさん (ワッチョイ 4701-JFqP) [sage] 2023/04/19(水) 20:04:36.21 ID:3t8AIZsr0 C言語のソースコードを検査して処理系依存や未定義動作等の環境によって 結果が変わりうる可能性のある部分を見つけてくれるツールってどんなのがありますか? コードエディタはvscodeなのでこれと連携できるとなおよいです http://mevius.5ch.net/test/read.cgi/tech/1672191630/992
993: デフォルトの名無しさん (ワッチョイ 2763-2Cuq) [sage] 2023/04/20(木) 08:07:01.48 ID:B156zYN00 lintでググれ http://mevius.5ch.net/test/read.cgi/tech/1672191630/993
994: デフォルトの名無しさん (ワッチョイ 07da-i7YA) [sage] 2023/04/20(木) 08:23:22.20 ID:3as2C0030 BingAIに聞け http://mevius.5ch.net/test/read.cgi/tech/1672191630/994
995: デフォルトの名無しさん (アウアウウー Sacb-JRah) [] 2023/04/20(木) 09:13:39.09 ID:EuuMXrfTa とにかくggr http://mevius.5ch.net/test/read.cgi/tech/1672191630/995
996: デフォルトの名無しさん (スッップ Sd7f-1OZE) [sage] 2023/04/20(木) 16:00:12.38 ID:ZTK8T1RQd チャットジーピーテー http://mevius.5ch.net/test/read.cgi/tech/1672191630/996
997: デフォルトの名無しさん (ラクッペペ MM8f-bKDU) [sage] 2023/04/20(木) 23:37:04.36 ID:BN6x5ZIFM さすがに検査対象としてソースコードそのものをchatGPTに丸投げするのはマズイ 個人情報や機密情報をそのまま入力するのは止めるように開発元のopenAIが忠告してたはず http://mevius.5ch.net/test/read.cgi/tech/1672191630/997
998: デフォルトの名無しさん (テテンテンテン MM8f-JFqP) [sage] 2023/04/21(金) 06:41:53.06 ID:NmcLOv2EM >>993 よさそう。サンキュー http://mevius.5ch.net/test/read.cgi/tech/1672191630/998
999: デフォルトの名無しさん (ワッチョイ a702-em59) [sage] 2023/04/21(金) 13:41:26.17 ID:cgpIrgwq0 次スレどこ? http://mevius.5ch.net/test/read.cgi/tech/1672191630/999
1000: デフォルトの名無しさん (ワッチョイ 7f63-sFbk) [sage] 2023/04/21(金) 14:06:43.23 ID:rqj2HSDF0 次スレ https://mevius.5ch.net/test/read.cgi/tech/1682053520/ http://mevius.5ch.net/test/read.cgi/tech/1672191630/1000
1001: 1001 [] ID:Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 114日 3時間 26分 13秒 http://mevius.5ch.net/test/read.cgi/tech/1672191630/1001
1002: 1002 [] ID:Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php http://mevius.5ch.net/test/read.cgi/tech/1672191630/1002
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.130s*