!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
C言語なら俺に聞け 160
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ ff63-dxp0)
2022/12/28(水) 10:40:30.02ID:PyoNDBFu0954デフォルトの名無しさん (ワッチョイ 4702-1OZE)
2023/04/17(月) 06:01:50.96ID:WvGymo4J0 あかん!
マイナスの場合はどうするねん
マイナスの場合はどうするねん
955デフォルトの名無しさん (ワッチョイ a702-em59)
2023/04/17(月) 06:38:08.16ID:fyienZF80 >>951
nが負の場合は?
nが負の場合は?
956デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
2023/04/17(月) 08:14:09.28ID:TjOyN7pL0 if (n < 0) n = -n;
957デフォルトの名無しさん (ササクッテロロ Spfb-tEYI)
2023/04/17(月) 09:53:06.18ID:MNSyV7UUp 文字列で与えなきゃデカい数字が扱えないやん
958デフォルトの名無しさん (ワッチョイ c75f-nEk4)
2023/04/17(月) 10:26:43.64ID:jOIYUxZw0 int chg(int n)
{
int a=0,b;
while(n) {
b=n/10;
a+=n-b*10;
n=b;
}
{
int a=0,b;
while(n) {
b=n/10;
a+=n-b*10;
n=b;
}
959デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
2023/04/17(月) 10:57:06.60ID:TjOyN7pL0960デフォルトの名無しさん (ワッチョイ 2763-2Cuq)
2023/04/17(月) 10:57:27.95ID:I3IibvEZ0 957涙目だなw
961デフォルトの名無しさん (テテンテンテン MM8f-/v6j)
2023/04/17(月) 12:21:07.80ID:sfjAbensM プログラミングには最低限の数学的な素養が必要な事が証明された…
科学技術計算を扱わないとしても、計算論とか数学とは切っても切れない関係にある
科学技術計算を扱わないとしても、計算論とか数学とは切っても切れない関係にある
962デフォルトの名無しさん (ワッチョイ 5f97-3fkD)
2023/04/17(月) 12:50:21.20ID:9nZn/y+b0 銀行の勘定系でも四則演算の知識は必要だし
963デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
2023/04/17(月) 12:56:30.89ID: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'; に
置き換えることもできるかもしれない
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はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6)
2023/04/17(月) 13:07:40.29ID:FYaudfJt0965デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
2023/04/17(月) 13:15:24.09ID:TjOyN7pL0 >>964
さんきゅう 数字は保障されてたか
さんきゅう 数字は保障されてたか
966デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
2023/04/17(月) 13:21:38.21ID:TjOyN7pL0 次の while (*s && isdigit(*s)) と意図の一部は重なるし if (*s) はいらんかったね
967デフォルトの名無しさん (スプッッ Sdff-wBI8)
2023/04/17(月) 15:25:15.58ID:DnqfCfHpd 今のモダンな言語からしたら一見して下らないやり取りだけど
これがC言語なんよね・・・
これがC言語なんよね・・・
968デフォルトの名無しさん (ワッチョイ c75f-nEk4)
2023/04/17(月) 15:50:16.10ID:jOIYUxZw0 ハードとアプリのあいだに多くの計算を必要とするソフトの層があるからね
OSやらで全部カバーするのは無理だからCは死なない
OSやらで全部カバーするのは無理だからCは死なない
969デフォルトの名無しさん (アウアウウー Sacb-/q5i)
2023/04/17(月) 15:51:50.57ID:kmcXsww3a >>964
漢数字も並んでたら嬉しかったと思いませんか
漢数字も並んでたら嬉しかったと思いませんか
970はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6)
2023/04/17(月) 16:54:39.89ID:FYaudfJt0 >>969
現実には JIS は読みの順序で Unicode は部首の画数の順序が原則。
漢数字を例外にしたらそれはそれで不格好だし嬉しくない人もいるだろう。
まあ Unicode は後から追加した分だのなんだのでそんなに綺麗に並んでいるわけでもないので
どうせぐちゃぐちゃなら数字くらいは並べても良かったんちゃうかなというのは気持ちはわかる。
現実には JIS は読みの順序で Unicode は部首の画数の順序が原則。
漢数字を例外にしたらそれはそれで不格好だし嬉しくない人もいるだろう。
まあ Unicode は後から追加した分だのなんだのでそんなに綺麗に並んでいるわけでもないので
どうせぐちゃぐちゃなら数字くらいは並べても良かったんちゃうかなというのは気持ちはわかる。
971デフォルトの名無しさん (テテンテンテン MM8f-/v6j)
2023/04/17(月) 17:19:21.10ID:tJ5lxHq2M 一二三四…Why Japanese people!
972デフォルトの名無しさん (スッププ Sd7f-1OZE)
2023/04/17(月) 19:13:46.43ID:92m0URlPd >>967
くくく、、愚かな、、
くくく、、愚かな、、
973デフォルトの名無しさん (スッププ Sd7f-1OZE)
2023/04/17(月) 19:21:15.62ID:92m0URlPd >>954
アンサインドイントで受けたれや!
アンサインドイントで受けたれや!
974デフォルトの名無しさん (アウアウウー Sacb-/q5i)
2023/04/17(月) 20:38:59.46ID:RKcegE7fa 壱<弐<参<死<伍<碌<質<八<苦<拾<百<銭<萬
ですね判ります
ですね判ります
975はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6)
2023/04/18(火) 08:26:27.42ID:aNj1uNjV0 >>971
英語の綴りの不規則さも大概やないけ! と突っ込んで完成するネタだと個人的には思ってる。
英語の綴りの不規則さも大概やないけ! と突っ込んで完成するネタだと個人的には思ってる。
976デフォルトの名無しさん (スフッ Sd7f-fSvC)
2023/04/18(火) 14:58:32.85ID:aePy3OZ8d 未初期化の自動変数には「不定値」が割り当てられる、と調べるたり自分が学んでいる本でも書いていますが、自分のコンパイラは常に「0」になっているようです
なぜでしょうか?
ちなみにgcc-10です gcc-11だと「不定値」になります
なぜでしょうか?
ちなみにgcc-10です gcc-11だと「不定値」になります
977はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ)
2023/04/18(火) 15:29:21.41ID:rjFDtS/R0 不定の値とは「未規定の値又はトラップ表現」と規定されてる。
常に 0 であってもこの規定に反しないよ。
常に 0 であってもこの規定に反しないよ。
978デフォルトの名無しさん (スフッ Sd7f-7nfa)
2023/04/18(火) 16:27:26.25ID:U9oAz8h1d >>977 ありがとうございます
ちなみに「トラップ表現」とはなんでしょうか?
ちなみに「トラップ表現」とはなんでしょうか?
979デフォルトの名無しさん (スフッ Sd7f-foDO)
2023/04/18(火) 16:57:48.54ID:U9oAz8h1d 976です chatgptで調べました
C言語の仕様では、自動変数を初期化しない場合、その値は不定とされています。これは、コンパイラがメモリ上で変数を割り当てる際に、その領域が以前に使用されていたデータを含んでいる可能性があるためです。
しかしながら、一部のコンパイラでは、自動変数を0で初期化することがあります。これは、セキュリティ上の理由から、またはコードの可読性を向上させるために行われることがあります。
ただし、コンパイラが自動変数を0で初期化することが保証されているわけではありません。したがって、プログラマは自動変数を使用する前に必ず初期化するように注意する必要があります。
C言語の仕様では、自動変数を初期化しない場合、その値は不定とされています。これは、コンパイラがメモリ上で変数を割り当てる際に、その領域が以前に使用されていたデータを含んでいる可能性があるためです。
しかしながら、一部のコンパイラでは、自動変数を0で初期化することがあります。これは、セキュリティ上の理由から、またはコードの可読性を向上させるために行われることがあります。
ただし、コンパイラが自動変数を0で初期化することが保証されているわけではありません。したがって、プログラマは自動変数を使用する前に必ず初期化するように注意する必要があります。
980はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ)
2023/04/18(火) 17:04:00.61ID:rjFDtS/R0 >>978
トラップ表現は「オブジェクト型の値を表現しないオブジェクト表現」ということになってる。
その型としてあり得ないビットパターンってこと。
オブジェクトとして格納されたトラップ表現を文字型ではない左辺値式として読みだした場合の結果は未定義となる。
副作用としてそのような表現が生成される場合も未定義。
C の仕様でいう未定義というのは「何が起きても (たとえば暴走しても) 良い」という意味なので実質的に禁止だと思ってもいいよ。
とはいえ整数型でトラップ表現があるアーキテクチャを私は見たことが無いけどな。
トラップ表現は「オブジェクト型の値を表現しないオブジェクト表現」ということになってる。
その型としてあり得ないビットパターンってこと。
オブジェクトとして格納されたトラップ表現を文字型ではない左辺値式として読みだした場合の結果は未定義となる。
副作用としてそのような表現が生成される場合も未定義。
C の仕様でいう未定義というのは「何が起きても (たとえば暴走しても) 良い」という意味なので実質的に禁止だと思ってもいいよ。
とはいえ整数型でトラップ表現があるアーキテクチャを私は見たことが無いけどな。
981デフォルトの名無しさん (スプッッ Sdff-ZLJR)
2023/04/18(火) 18:20:39.02ID:Qric2C4Yd トラップ表現を調べてみたけどほぼほぼ処理系定義絡みなのね
signed int16の0x8000は-32768かもしれないし、トラップ表現かもしれない
1の補数系でsigned int16の0xffffは0かもしれないし、トラップ表現かもしれない
int32* の4バイト境界に合ってないポインタ(int* p=0x0001)は、強制的に4バイト境界に直されるかもしれないし、トラップ表現かもしれない
signed int16の0x8000は-32768かもしれないし、トラップ表現かもしれない
1の補数系でsigned int16の0xffffは0かもしれないし、トラップ表現かもしれない
int32* の4バイト境界に合ってないポインタ(int* p=0x0001)は、強制的に4バイト境界に直されるかもしれないし、トラップ表現かもしれない
982デフォルトの名無しさん (スフッ Sd7f-foDO)
2023/04/18(火) 19:26:15.76ID:U9oAz8h1d >>980 ありがとうございます 勉強になりました
983デフォルトの名無しさん (テテンテンテン MM8f-/v6j)
2023/04/19(水) 02:26:26.48ID:Nl7uhZkpM 自分のコンパイラってのを明らかにしてくれ
どうしても言えないってならしょうがないが…
どうしても言えないってならしょうがないが…
984デフォルトの名無しさん (ワッチョイ 6746-KCd8)
2023/04/19(水) 02:43:50.96ID:MHEst9B30985デフォルトの名無しさん (ワッチョイ 5f4b-zTmk)
2023/04/19(水) 06:44:34.46ID:Dcht9s5K0 >>983
バーカ(笑)
バーカ(笑)
986デフォルトの名無しさん (ワッチョイ 2763-7nfa)
2023/04/19(水) 06:59:06.58ID:twYHK80b0 983息してるか?www
987デフォルトの名無しさん (スプッッ Sdff-wBI8)
2023/04/19(水) 07:47:07.07ID:BpfZGgoRd かてなおったかな
988デフォルトの名無しさん (ワッチョイ c75f-nEk4)
2023/04/19(水) 10:03:53.18ID:rE0e6VM+0 自作コンパイラの話する?
989デフォルトの名無しさん (スプッッ Sdff-wBI8)
2023/04/19(水) 10:43:43.68ID:m2bdQTksd いいぜ?お前からな?
990デフォルトの名無しさん (ワッチョイ c75f-nEk4)
2023/04/19(水) 11:58:53.24ID:rE0e6VM+0 ぼくはLex&YACCでPL/0を作って満足しました。おわり
991デフォルトの名無しさん (スッップ Sd7f-1OZE)
2023/04/19(水) 13:12:38.94ID:IP5wt1Fbd 夜中に路地から飛び出て来たら俺もびびる
でも >>991 では語れんわ!
でも >>991 では語れんわ!
992デフォルトの名無しさん (ワッチョイ 4701-JFqP)
2023/04/19(水) 20:04:36.21ID:3t8AIZsr0 C言語のソースコードを検査して処理系依存や未定義動作等の環境によって
結果が変わりうる可能性のある部分を見つけてくれるツールってどんなのがありますか?
コードエディタはvscodeなのでこれと連携できるとなおよいです
結果が変わりうる可能性のある部分を見つけてくれるツールってどんなのがありますか?
コードエディタはvscodeなのでこれと連携できるとなおよいです
993デフォルトの名無しさん (ワッチョイ 2763-2Cuq)
2023/04/20(木) 08:07:01.48ID:B156zYN00 lintでググれ
994デフォルトの名無しさん (ワッチョイ 07da-i7YA)
2023/04/20(木) 08:23:22.20ID:3as2C0030 BingAIに聞け
995デフォルトの名無しさん (アウアウウー Sacb-JRah)
2023/04/20(木) 09:13:39.09ID:EuuMXrfTa とにかくggr
996デフォルトの名無しさん (スッップ Sd7f-1OZE)
2023/04/20(木) 16:00:12.38ID:ZTK8T1RQd チャットジーピーテー
997デフォルトの名無しさん (ラクッペペ MM8f-bKDU)
2023/04/20(木) 23:37:04.36ID:BN6x5ZIFM さすがに検査対象としてソースコードそのものをchatGPTに丸投げするのはマズイ
個人情報や機密情報をそのまま入力するのは止めるように開発元のopenAIが忠告してたはず
個人情報や機密情報をそのまま入力するのは止めるように開発元のopenAIが忠告してたはず
998デフォルトの名無しさん (テテンテンテン MM8f-JFqP)
2023/04/21(金) 06:41:53.06ID:NmcLOv2EM >>993
よさそう。サンキュー
よさそう。サンキュー
999デフォルトの名無しさん (ワッチョイ a702-em59)
2023/04/21(金) 13:41:26.17ID:cgpIrgwq0 次スレどこ?
1000デフォルトの名無しさん (ワッチョイ 7f63-sFbk)
2023/04/21(金) 14:06:43.23ID:rqj2HSDF010011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 3時間 26分 13秒
新しいスレッドを立ててください。
life time: 114日 3時間 26分 13秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 肴は炙った〰イカでいい〰って歌あるじゃん?
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
