[過去ログ] C言語なら俺に聞け 160 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
869: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/09(日) 16:50:03.25 ID:S22RS/pW0(3/3) AAS
小生だって燃えないゴミを燃えるゴミと言いたいわけじゃないさ
870: デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/09(日) 18:08:42.61 ID:I9Qf3W7D0(1/2) AAS
環境商法は嘘でも乗っからないと文句言われるからつれーよな
871: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:17:37.00 ID:aX3VhQL60(3/7) AAS
同じプラスティックを、燃えるゴミ、燃えないゴミ、分別込み、どれで出してもOKらしい
あれはやってますアピールなんだとか
872: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:24:47.66 ID:aX3VhQL60(4/7) AAS
分別よりも、粗大ゴミ、家電ゴミなどの有料ゴミは厳格に扱われる
迂闊に持ち帰ると大目玉食らうらしい
873: デフォルトの名無しさん [sage] 2023/04/09(日) 18:45:27.28 ID:zFNH8tsS0(4/4) AAS
問題があるからそうしているわけじゃなくて限りある資源をリサイクルだからそうしている
「どれで出してもOKらしい」と言うのは論点が間違ってる
あと指定された場所にあるゴミは所有権の放棄じゃなくて自治体への譲渡みたいなモノだから持ち帰りは窃盗になる
874: デフォルトの名無しさん (ラクッペペ MM66-DefY) [sage] 2023/04/09(日) 18:45:49.74 ID:qh8VxmjLM(1) AAS
条例と法令の違い
875: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:49:28.88 ID:aX3VhQL60(5/7) AAS
いや実際そうだぞ
汚れているプラスティックを分別ゴミに混ぜられると迷惑なんだそうだ
洗剤でゴシゴシ洗って綺麗にしてから出せだとさ
876: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:51:41.97 ID:aX3VhQL60(6/7) AAS
実際PETボトルは回収しても資源として再利用するのに手間が掛かる
だから、飲料メーカーもPETからアルミ容器に切り替えている
アルミはリサイクルが簡単なんだそうだ
877: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 19:02:34.53 ID:aX3VhQL60(7/7) AAS
迂闊に持ち帰ると大目玉、はゴミ収集業者の話な
878: デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/09(日) 19:07:33.05 ID:I9Qf3W7D0(2/2) AAS
基本リサイクルはコスト的にデメリットしかない
一部ではやってますよアピールをしつつ、大半は分別したのをわざわざまとめて燃やしたり他所に押し付けるのが現実
環境商法は理想アピールとかけ離れた現実が弱みになって反社が入り込みやすいジャンルになってるから関わると危険だよ
879: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:12:09.18 ID:ONc2duBhM(1/4) AAS
>>863
お前の大好きなstrlenがそれだろw
支離滅裂過ぎてもはや自分が何言ってるか分かってなさそうw
お大事に…
880: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:15:10.49 ID:ONc2duBhM(2/4) AAS
文字列とストリームの区別が付いてないアホに付き合わないといけないとはな…
そういう奴のコードはバグだらけだろうなw
881: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:22:58.30 ID:ONc2duBhM(3/4) AAS
ま、Cの文字列はバグり易いのは間違いないがな
特にmmapを使うと悲劇が起こりやすい
なのでテキストファイルの読み込みには、LoadTextFileの様な明確な名前を付けて専用に用意するのが常套手段
もちろんゼロ終端文字列を返す
882(1): デフォルトの名無しさん (スッップ Sd22-VdbI) [sage] 2023/04/09(日) 19:27:24.15 ID:8g05NYDAd(2/2) AAS
strlenとか使う馬鹿がいるのか
ラベル低すぎ
883(1): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 20:52:59.04 ID:ONc2duBhM(4/4) AAS
Linux Kernelでも使われてるけど、ラベル低すぎとは知らなかったw
884(1): デフォルトの名無しさん (ワッチョイ b902-VdbI) [sage] 2023/04/09(日) 23:27:25.54 ID:rzCgDpP30(1) AAS
strlen strcpy strcatのストラ三兄弟は使うな
普通はマクロ定義でスピードアップ
885: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/10(月) 00:09:17.40 ID:IbkX37li0(1) AAS
どんなマクロなんだい
886(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/10(月) 05:24:42.66 ID:hibmPNuj0(1) AAS
>>864
データサイズの話じゃなかったのかよ?
なんで配列のサイズかどうかになるんだ
887(2): デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/11(火) 00:17:24.82 ID:KrSp3HQhd(1) AAS
>>883
なんかこの人おかしくないか?ラベル…?
>>884も変だけど…ストラ3兄弟って…ギャグか?w
最終的に関数名をちゃんとすればどうにかなるみたいだし
そんな話誰が信じるんだよw
>>886
859に言ってくれ
明らかな誤りが含まれていたので訂正した
888: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/11(火) 02:28:47.80 ID:MidqBNVpM(1) AAS
>>887
>>882に言えよ
889(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 06:49:02.21 ID:dFL5vcfn0(1/3) AAS
>>887
訂正ってどこ? 具体的なレス番plz
890: デフォルトの名無しさん (ワッチョイ a910-Ay2p) [sage] 2023/04/11(火) 07:47:26.88 ID:lpXrKUt40(1) AAS
Cを捨ててCStringを使うC++へ行けってことだろ。
891: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 08:08:42.83 ID:dFL5vcfn0(2/3) AAS
std::stringではなくCStringな変人きたな
892: デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 08:55:39.31 ID:ozkx3imqd(1/3) AAS
>>889
訂正は>>864だが>>859を読んですぐおかしいと思わなかったなら理解できないと思う
893(1): デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/11(火) 09:23:43.71 ID:Q4R/j+cb0(1) AAS
>>859 の言ってるのは argv[argc] == NULL となる規定のことでしょ。
それ自体は正しいので訂正することも無い。
894: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/11(火) 09:41:53.28 ID:7OwUdYTT0(1/2) AAS
MFCに帰ろう
895(1): デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 09:52:04.87 ID:ozkx3imqd(2/3) AAS
>>893
文字列サイズの話をしているのに文字列配列の要素数の話で「サイズ」と言うのは不自然
859はargvについて誤解してると思う
896(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 15:56:45.30 ID:dFL5vcfn0(3/3) AAS
>>895
残念ながら俺は文字列サイズとかいう造語の話はしてない
853曰く
> サイズわかってるのに終端つける意味がないわ
に対してあえて冗長な設計にする場合があると指摘したまで
>>864もそうだがどうもおまえさんサイズという語の意味を都合良く変動させているようだな
897: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/11(火) 19:04:39.28 ID:7OwUdYTT0(2/2) AAS
小生は文字列の長さを表すとき、strlenに習ってlengthという語を用いますん
898: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/11(火) 19:20:48.37 ID:1aMyTP0X0(1/2) AAS
文字列サイズなんて聞くと、配列要素数かと受け取ってしまう
899(2): デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 19:50:55.63 ID:ozkx3imqd(3/3) AAS
>>896
くだらない言い訳だ
文字列をロードしたサイズの話をしているのにコマンドラインの引数の個数の話にするのは不自然だと感じた
どうでもいいが文字列の終端までの長さをなんと呼ぶのかね
900: デフォルトの名無しさん [sage] 2023/04/11(火) 20:01:03.76 ID:eL0kPSHK0(1) AAS
文字列長
文字の長さ
文字列の長さ
長さ
901: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/11(火) 20:41:17.09 ID:1aMyTP0X0(2/2) AAS
あと、文字数というのも入れてあげて
902: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:49:44.30 ID:1sJZVfCp0(1/3) AAS
文字の長さ 3m
重さ 5kg
903: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:52:08.54 ID:1sJZVfCp0(2/3) AAS
https://www.shinjuku-i-land.jp/assets/img/art/img_art-list_3.jpg
904: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:53:14.30 ID:1sJZVfCp0(3/3) AAS
とても長くて太くて大きくて重そう
905: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 06:48:43.44 ID:NgkNjGWQ0(1/7) AAS
>>899
それってあなたの感想ですよね
906: デフォルトの名無しさん (ワッチョイ bd02-oFYy) [sage] 2023/04/12(水) 08:59:58.23 ID:HQz+hF5G0(1) AAS
もうそれ秋田
907(3): デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:42:14.25 ID:+8HledSTa(1/2) AAS
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; みたいな実装もたまに観るからあなどれない
908(1): デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:51:49.32 ID:+8HledSTa(2/2) AAS
>>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)
にするアホな例はよく観るってどっかのサイトに描いてあった
909(1): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/12(水) 12:32:16.29 ID:81IdaWl4M(1) AAS
C++ならイテレーター使えよ…
910: デフォルトの名無しさん (ワッチョイ 495f-cPl8) [sage] 2023/04/12(水) 12:42:43.03 ID:Q+QfGKpq0(1) AAS
vectorはランダムアクセスがウリだからイテレータ使わないこともよくあるね
911: デフォルトの名無しさん (スプープ Sd82-VdbI) [sage] 2023/04/12(水) 13:01:34.03 ID:N6w93SJGd(1) AAS
>>899
「文字列の終端までの長さ」ですが何か?
912: デフォルトの名無しさん (ワッチョイ c5c9-hq/O) [sage] 2023/04/12(水) 13:23:26.32 ID:3jp3M04i0(1) AAS
(文字列の)文字数
913: デフォルトの名無しさん (ワッチョイ c69a-gTA8) [sage] 2023/04/12(水) 13:42:24.69 ID:dS1BcMQZ0(1) AAS
>>909
コードによってはインデックスでアクセスしたいこともあるから...
914: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:15.96 ID:gJHWYvs7a(1/3) AAS
「アホな例」と書く意味が分からん
ちゃん型を使うべきだろ
915: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:40.50 ID:gJHWYvs7a(2/3) AAS
ちゃんと型を使うべきだろ
916: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:59:47.55 ID:gJHWYvs7a(3/3) AAS
そもそも「アホな例」じゃないとLP64でおかしなことになるよね
917(2): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 14:05:32.31 ID:NgkNjGWQ0(2/7) AAS
struct X;
void func(struct X[]); //error
struct Y { int a; };
void func(struct Y[]); //ok
不完全型の場合、仮引数の[]はポインタにならない??
ちな、gccではエラー、clでは通る
918: デフォルトの名無しさん (スップ Sd82-qF+M) [] 2023/04/12(水) 14:17:34.62 ID:mayblUPzd(1) AAS
C++だと通ったね
gcc/clangのCだとX[]は許されないけどX*は許される
関数宣言より前にX型の定義がないとコンパイルが通らなかった
919(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 14:55:48.73 ID:NgkNjGWQ0(3/7) AAS
どっちが正しいのかね
920: デフォルトの名無しさん [sage] 2023/04/12(水) 15:04:32.82 ID:219MxBT/0(1/2) AAS
>>907
馬鹿な私に少しだけアドバイスを
それってsize_tのビット幅 < システム(OS)のビット幅と言う条件下での話なんでしょうか?
size_tがシステム(OS)のビット幅と同じならメモリで管理できるものは必然的にsize_tでも表現できると思うのですが
メモリ上で管理できているゼロ終端文字列をsize_tで表現できない場合ってあるんですか?
まあ一部の組み込みとかならあるかも知れませんが……
けどそういう環境の場合strlenなどのsize_tで返す場合でも表現できなくなるわけで、結局size_tに依存することになってどっちでも同じじゃないかと思うんですがどうなんでしょうか?
921(1): デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/12(水) 15:07:46.44 ID:gccG0Jwg0(1/2) AAS
>>919
規格は知らんけど配列とポインタは違うんだからエラーで弾くのは正論だと思うけどね
通す処理系はその後の整合性をユーザーが担保する前提の思想なんでしょ
922(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:09:16.06 ID:NgkNjGWQ0(4/7) AAS
>>921
仮引数に限っては*と[]は同じはず
不完全型だけ例外というのは気持ち悪い
923: デフォルトの名無しさん [sage] 2023/04/12(水) 15:15:29.08 ID:219MxBT/0(2/2) AAS
>>908
もう一つ無知なる私にアドバイスをお願いします
size_t len までは文字を格納出来ると>>907から読み取りましたが
sizeof(size_t)==sizeof(int) の場合
vector v のサイズがINT_MAX以上だった場合、 i < (int)v.size() ではプログラマーが予期しない動作になりませんか?
924: デフォルトの名無しさん (ワッチョイ 412d-dXWb) [sage] 2023/04/12(水) 15:27:40.89 ID:7SV2gFKB0(1) AAS
size_t が符号なし整数型
int が符号付き整数型
925(1): デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/12(水) 15:34:06.47 ID:gccG0Jwg0(2/2) AAS
>>922
はずだかなんだか知らねーけど、そんなことはどうでも良くてサイズの分からないオブジェクトの配列は作れんって言ってんだよ
操作上の違いはともかく配列として宣言したんなら関数内では配列として扱うってことを示唆してるわけだろ
仮にそのfuncだかって名前の関数の中にX[3]とかX+5って書かれたらどうやってアドレス出すんだってことよ
動作に違いがあるってことは規格がそれを許してる箇所なんだろうけど弾いてる処理系はそういう考えなんだろう
926: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:53:08.00 ID:NgkNjGWQ0(5/7) AAS
>>925
仮引数はその場に配列を作り出したりはしないという基本が合意できない以上
これ以上おまえさんと話すのは無駄だな
927: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 15:53:49.38 ID:NgkNjGWQ0(6/7) AAS
> 規格は知らんけど
この時点で気付くべきだった
928: デフォルトの名無しさん (ワッチョイ a910-Ay2p) [sage] 2023/04/12(水) 15:55:21.15 ID:1mphmeyq0(1) AAS
Cはアセンブラの代用言語。
929(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 423e-/aea) [sage] 2023/04/12(水) 16:36:09.61 ID:bThMVtxz0(1) AAS
>>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];
930: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 16:59:41.80 ID:NgkNjGWQ0(7/7) AAS
>>929
㌧X
安心した
931(1): デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/12(水) 23:57:31.43 ID:ysjFLZAD0(1) AAS
>>917
Cではエラーになるのが規格準拠の動作。
ただし宣言の形式を変えるだけで通る理不尽な制約でありC++では許されるように改められている。
https://stackoverflow.com/questions/50503501/an-error-about-c-struct-array-in-formal-parameter
932(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 423e-/aea) [sage] 2023/04/13(木) 00:37:34.59 ID:y5cvZaYN0(1) AAS
>>931
そこでも言及されてるけど
型調整 (配列がポインタに読み替えられる) が優先されるか配列宣言子としての解釈が優先されるかって曖昧じゃない?
読み替えより先に配列宣言子として解釈すべきと確信できるような記述ってある?
常識的には曖昧なら厳しい側の制約で解釈すべきだわなーとは思うけど陽には書かれてないように思う。
933: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/13(木) 02:04:44.32 ID:o3x890Fi0(1/2) AAS
>>907
昔々の PASCAL はそんな感じだったな。先頭1バイトに文字列のバイト数が入っていてその後に文字列がある。
当然それだと255バイトまでしか入らないのでもっと長い文字列を扱いたい時に苦しむことになる。
まあでも 8 bit とか 16 bit CPU のマイコンやパソコンにそういう高い要求は最初の頃はあまりなかったのでなんとかなっていた。
934: デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/13(木) 02:23:46.11 ID:jklAk1E50(1) AAS
>>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, ...
「通る」が警告も出ずプログラム実行までできる状態と解釈してたけど、
エラーにはならないものの警告が出ているならそれも規格準拠とは言えそう。
935: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/13(木) 08:28:10.40 ID:zEEI4t8g0(1/2) AAS
https://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_047.html
仮引数の[]は、一旦は配列として受理し、その後でポインタに調整されるってことか
936: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/13(木) 08:28:50.25 ID:zEEI4t8g0(2/2) AAS
VCで通るのは、VLAがないからってこと?
937: デフォルトの名無しさん (スップ Sd82-VdbI) [sage] 2023/04/13(木) 23:35:55.91 ID:DvwX4ZoKd(1) AAS
間違ってる
938: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/13(木) 23:48:57.98 ID:wWKtbXV/0(1/2) AAS
マスク無死でラーメン食いたい奴は、まず住所を書いて見てよ
その場所にノーマスクで食えるラーメン屋作らないといけないんだろ?
政府が作るのかな?
939: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/13(木) 23:55:11.99 ID:wWKtbXV/0(2/2) AAS
ごめん、誤爆
940: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/13(木) 23:55:19.80 ID:o3x890Fi0(2/2) AAS
はあ
941: デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/14(金) 01:01:11.22 ID:E99e4anP0(1) AAS
そのキモいレスをどこで発表するつもりだったのか
942: ◆QZaw55cn4c (ワッチョイ 07e6-DPrL) [sage] 2023/04/15(土) 19:42:43.70 ID:JbgATxBi0(1) AAS
最近のLANカードで他力給電のものばかりのようですね、クロスケーブルでピアツーピアできるPCIe のカードって存在しないものですかね…
結局 hub を使っちまった、もったいないなあ
943: ◆QZaw55cn4c (ワッチョイ bfba-DPrL) [sage] 2023/04/16(日) 20:11:08.29 ID:4UlFU6Wr0(1/2) AAS
chatGPTって面白いね…もうgoogle はいらないや
944: はちみつ餃子◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) [sage] 2023/04/16(日) 21:13:37.76 ID:Ot5nnykg0(1) AAS
C スレで言うことか?
945: デフォルトの名無しさん (ワッチョイ 2763-2Cuq) [sage] 2023/04/16(日) 21:23:02.75 ID:H2kHWHvu0(1) AAS
人工知能とはなんたるや、これがわかってないやつ多いのは仕方ないけど
ム板でこれは由々しきことだな
946: デフォルトの名無しさん (ワッチョイ 7f63-sFbk) [sage] 2023/04/16(日) 21:48:52.61 ID:zHRI9OsR0(1/2) AAS
煽ってるだけやろ
947: ◆QZaw55cn4c (ワッチョイ bfba-sFbk) [sage] 2023/04/16(日) 22:57:10.75 ID:4UlFU6Wr0(2/2) AAS
スレ終盤恒例のウダウダ話ですよ、たまにはいいじゃあ、ありませんか!
948: デフォルトの名無しさん (ワッチョイ 7f63-sFbk) [sage] 2023/04/16(日) 23:00:41.18 ID:zHRI9OsR0(2/2) AAS
chatGPT関連のスレは6本も立ってるので、好きな場所でやってください
(盛り上がったら誘導してくれてもいいです)
949(1): デフォルトの名無しさん (ワッチョイ c7b3-5oiz) [sage] 2023/04/17(月) 02:44:28.44 ID:PilU+QdE0(1) AAS
数値の各桁を足す関数を考えました
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;
}
950: デフォルトの名無しさん (ワッチョイ 5f79-uE6i) [sage] 2023/04/17(月) 02:47:29.33 ID:dBG5z/eM0(1) AAS
数値計算なのにmemsetを使ってる時点で0点
951(1): デフォルトの名無しさん [sage] 2023/04/17(月) 03:00:26.88 ID:2drVnpNQ0(1) AAS
int chg(int n)
{
int a;
for(a=0;0<n;n/=10) a+=n%10;
return a;
}
952: デフォルトの名無しさん (ワッチョイ 5fad-sFbk) [] 2023/04/17(月) 03:01:25.01 ID:g2jYQi3l0(1) AAS
>>949
それわざわざ文字列にしてからやる必要ないよね。
10で割った余りを足して10で割るのを繰り返せば良いだけだし。
仮に(宿題や問題の都合で)どうしても文字列に直してやらなければならないのだとしても文字列として使う char 配列の
初期化で全部0で埋めるのは処理の無駄だしそんな事をするのはC言語における文字列の扱いについてよく分かって
いないことの現れだと思う。
953: デフォルトの名無しさん (ワッチョイ a702-em59) [sage] 2023/04/17(月) 03:41:54.19 ID:fyienZF80(1/2) AAS
30点
みんなもっと優しくしてあげなよ。ゴキブリだって生きてるんだぞ
954(1): デフォルトの名無しさん (ワッチョイ 4702-1OZE) [sage] 2023/04/17(月) 06:01:50.96 ID:WvGymo4J0(1) AAS
あかん!
マイナスの場合はどうするねん
955: デフォルトの名無しさん (ワッチョイ a702-em59) [sage] 2023/04/17(月) 06:38:08.16 ID:fyienZF80(2/2) AAS
>>951
nが負の場合は?
956: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 08:14:09.28 ID:TjOyN7pL0(1/5) AAS
if (n < 0) n = -n;
957(1): デフォルトの名無しさん (ササクッテロロ Spfb-tEYI) [] 2023/04/17(月) 09:53:06.18 ID:MNSyV7UUp(1) AAS
文字列で与えなきゃデカい数字が扱えないやん
958: デフォルトの名無しさん (ワッチョイ c75f-nEk4) [sage] 2023/04/17(月) 10:26:43.64 ID:jOIYUxZw0(1/2) AAS
int chg(int n)
{
int a=0,b;
while(n) {
b=n/10;
a+=n-b*10;
n=b;
}
959: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 10:57:06.60 ID:TjOyN7pL0(2/5) AAS
>>957
int で受けて 文字列化してるからちょっと
最初から文字列で受けてるなら一考の余地はあるかもね
960: デフォルトの名無しさん (ワッチョイ 2763-2Cuq) [sage] 2023/04/17(月) 10:57:27.95 ID:I3IibvEZ0(1) AAS
957涙目だなw
961: デフォルトの名無しさん (テテンテンテン MM8f-/v6j) [sage] 2023/04/17(月) 12:21:07.80 ID:sfjAbensM(1) AAS
プログラミングには最低限の数学的な素養が必要な事が証明された…
科学技術計算を扱わないとしても、計算論とか数学とは切っても切れない関係にある
962: デフォルトの名無しさん (ワッチョイ 5f97-3fkD) [sage] 2023/04/17(月) 12:50:21.20 ID:9nZn/y+b0(1) AAS
銀行の勘定系でも四則演算の知識は必要だし
963(1): デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 12:56:30.89 ID:TjOyN7pL0(3/5) AAS
文字列を受ける場合
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'; に
置き換えることもできるかもしれない
964(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) [sage] 2023/04/17(月) 13:07:40.29 ID:FYaudfJt0(1/2) AAS
>>963
> 環境依存で
数字に対応する文字コードが連続で昇順に並んでいることは
言語仕様で保証されている。
965: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 13:15:24.09 ID:TjOyN7pL0(4/5) AAS
>>964
さんきゅう 数字は保障されてたか
966: デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) [sage] 2023/04/17(月) 13:21:38.21 ID:TjOyN7pL0(5/5) AAS
次の while (*s && isdigit(*s)) と意図の一部は重なるし if (*s) はいらんかったね
967(1): デフォルトの名無しさん (スプッッ Sdff-wBI8) [sage] 2023/04/17(月) 15:25:15.58 ID:DnqfCfHpd(1) AAS
今のモダンな言語からしたら一見して下らないやり取りだけど
これがC言語なんよね・・・
968: デフォルトの名無しさん (ワッチョイ c75f-nEk4) [sage] 2023/04/17(月) 15:50:16.10 ID:jOIYUxZw0(2/2) AAS
ハードとアプリのあいだに多くの計算を必要とするソフトの層があるからね
OSやらで全部カバーするのは無理だからCは死なない
上下前次1-新書関写板覧索設栞歴
あと 34 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s