C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.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言語なら俺に聞け 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
探検
C言語なら俺に聞け 145
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 9381-qput)
2018/02/19(月) 22:13:58.98ID:9/te2eSJ0881デフォルトの名無しさん (ワッチョイ 578a-/Wij)
2018/04/20(金) 01:57:12.33ID:wjKqEKEv0 関数の引数はスタックサイズに丸められるよ
882デフォルトの名無しさん (アウアウウー Sa47-jD/J)
2018/04/20(金) 02:04:42.67ID:G/kLZxdya ポインタだしなあ
883デフォルトの名無しさん (ワッチョイ 2393-MaWf)
2018/04/20(金) 06:13:59.91ID:EDYH6GYd0884デフォルトの名無しさん (ワッチョイ 2350-Incm)
2018/04/20(金) 06:51:33.68ID:9tWrHk9l0885デフォルトの名無しさん (ワッチョイ b727-9jjH)
2018/04/20(金) 07:58:37.73ID:eEDtLY6e0 アホな点をいくつ見つけられるかで
各自のアホ度を測定できるな
各自のアホ度を測定できるな
886デフォルトの名無しさん (スップ Sd5a-rWRa)
2018/04/20(金) 09:31:45.52ID:OLFb+zqBd それがデバッグと言われる行為だろ?
887デフォルトの名無しさん (ワンミングク MM8a-/Wij)
2018/04/20(金) 10:21:13.71ID:xd9k5+f1M 脳がwormhole だらけなんでしょ
888デフォルトの名無しさん (ワッチョイ 76e7-l7dU)
2018/04/20(金) 14:21:22.42ID:33OB1hDw0 char *line;
scanf("%s", &line);//dogが入る
if(line=="dog")
{
printf("dogですよ");
}
これってなんでdogと合わないん?
scanf("%s", &line);//dogが入る
if(line=="dog")
{
printf("dogですよ");
}
これってなんでdogと合わないん?
889デフォルトの名無しさん (ワッチョイ e38a-0RFE)
2018/04/20(金) 14:26:31.37ID:UQRLXIIQ0 >>888
scanf で受けとる変数をchar型の配列にしましょう
scanf で受けとる変数をchar型の配列にしましょう
890デフォルトの名無しさん (スップ Sd5a-rWRa)
2018/04/20(金) 14:30:58.92ID:OLFb+zqBd >>888
line=="dog" という式は strcmp関数にしましょう
line=="dog" という式は strcmp関数にしましょう
891デフォルトの名無しさん (ワッチョイ 4eea-sFFS)
2018/04/20(金) 14:31:04.87ID:JZAZQDTS0 文字列の比較は == ではなく、strcmp 等の比較関数をつかいましょう
892デフォルトの名無しさん (ササクッテロロ Sp3b-qxIM)
2018/04/20(金) 15:15:01.27ID:uy6ZTS8Ap アドレスの一致を比較してるからじゃね?
893デフォルトの名無しさん (スップ Sd5a-Incm)
2018/04/20(金) 15:17:13.71ID:RdXrGqPUd C言語はプロ向きの言語
「とりあえず動かしてみる」
とかいう用途には向かない
入門書とかできちんと勉強しよう
「とりあえず動かしてみる」
とかいう用途には向かない
入門書とかできちんと勉強しよう
894デフォルトの名無しさん (ワッチョイ 4eea-sFFS)
2018/04/20(金) 15:20:02.90ID:JZAZQDTS0 >char *line;
>scanf("%s", &line);
この2行に色々な罠や誤りが仕込まれてるな。
Cで躓くであろう、ポインタと配列、文字と文字列周辺
(セキュリティや入力のオーバーランは考慮せず簡便なので書くと)
char line[256];
scanf("%s", line);
>scanf("%s", &line);
この2行に色々な罠や誤りが仕込まれてるな。
Cで躓くであろう、ポインタと配列、文字と文字列周辺
(セキュリティや入力のオーバーランは考慮せず簡便なので書くと)
char line[256];
scanf("%s", line);
895デフォルトの名無しさん (アウアウカー Sa43-9Dln)
2018/04/20(金) 17:03:59.70ID:OzeM0EoQa896片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdba-gnn3)
2018/04/20(金) 17:21:20.04ID:PF4NyNv9d >>894
char line[64];
size_t len;
fgets(line, sizeof(line), stdin);
len = strlen(line);
if (len && line[len - 1] == '\n') line[len - 1] = 0;
if(strcmp(line, "dog") == 0)
{
printf("dogですよ\n");
}
char line[64];
size_t len;
fgets(line, sizeof(line), stdin);
len = strlen(line);
if (len && line[len - 1] == '\n') line[len - 1] = 0;
if(strcmp(line, "dog") == 0)
{
printf("dogですよ\n");
}
897片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdba-gnn3)
2018/04/20(金) 17:28:09.55ID:PF4NyNv9d char line[64];
fgets(line, sizeof(line), stdin);
strtok(line, "\n");
if(strcmp(line, "dog") == 0)
{
printf("dogですよ\n");
}
fgets(line, sizeof(line), stdin);
strtok(line, "\n");
if(strcmp(line, "dog") == 0)
{
printf("dogですよ\n");
}
898デフォルトの名無しさん (ワッチョイ b727-9jjH)
2018/04/20(金) 18:00:02.24ID:eEDtLY6e0 char line[256];
scanf("%255s", line);
scanfを使えないアホが
scanfをdisるのを見る度に
嘲笑するのも勿体ない気分になる
scanf("%255s", line);
scanfを使えないアホが
scanfをdisるのを見る度に
嘲笑するのも勿体ない気分になる
899デフォルトの名無しさん (ワッチョイ 76e7-l7dU)
2018/04/20(金) 18:02:13.70ID:rQE2Qud50 これでもし入力条件が不明の長さで受け取らなきゃ行けなかったらどうすればいい?
901デフォルトの名無しさん (ワッチョイ 578a-/Wij)
2018/04/20(金) 18:10:03.88ID:wjKqEKEv0 *ぐらい使えよ
902片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdba-gnn3)
2018/04/20(金) 18:10:57.05ID:PF4NyNv9d std::getline
一文字ずつ読み込む
一文字ずつ読み込む
903デフォルトの名無しさん (アウアウカー Sa43-9Dln)
2018/04/20(金) 18:40:42.36ID:dyY1ZlsFa gccならgetline()
904片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdba-gnn3)
2018/04/20(金) 18:44:42.17ID:PF4NyNv9d 入力バッファにちょっとゴミが混じるだけでscanfは使えなくなる。
そんな役立たずは、業務では使うべきではない。使うなら、fgetsとsscanfの方がいい。
我が国のコンピューター教育は残念ながら、業務では役に立たない言語を教えている。
そんな役立たずは、業務では使うべきではない。使うなら、fgetsとsscanfの方がいい。
我が国のコンピューター教育は残念ながら、業務では役に立たない言語を教えている。
905デフォルトの名無しさん (ワッチョイ 578a-Elb0)
2018/04/20(金) 19:13:13.94ID:2JMfU3z40 むしろ余程プアな環境でない限り、業務でC言語は使うべきではない
>>905
かわりに何を使えばいいですか?
かわりに何を使えばいいですか?
907デフォルトの名無しさん
2018/04/20(金) 19:55:43.39 >>906
Python
Python
908デフォルトの名無しさん (ワッチョイ 2350-Incm)
2018/04/20(金) 20:49:36.44ID:9tWrHk9l0 業務でこそC言語
909デフォルトの名無しさん (ワッチョイ 5ff7-Stg3)
2018/04/20(金) 20:55:22.00ID:18ECoYTh0 COBOLかVB
910デフォルトの名無しさん (アウアウウー Sa47-9jjH)
2018/04/20(金) 21:04:02.42ID:qDS4Ifrca >>905
心配しなくても使われる所は限られてるよ。
OSそのものとかデバイスドライバとかな。
それも減りつつあるんじゃないかな。
まあしかし過去の資産がありすぎて捨てられないって感じか。
うまいこと互換性を保ちつつ次の段階へ行ければいいんだろうけどね。
心配しなくても使われる所は限られてるよ。
OSそのものとかデバイスドライバとかな。
それも減りつつあるんじゃないかな。
まあしかし過去の資産がありすぎて捨てられないって感じか。
うまいこと互換性を保ちつつ次の段階へ行ければいいんだろうけどね。
911デフォルトの名無しさん (ワッチョイ 2350-Incm)
2018/04/20(金) 21:08:14.53ID:9tWrHk9l0 MCUはほとんどがC言語
たまにC++
たまにアセンブラ
たまにC++
たまにアセンブラ
912デフォルトの名無しさん (ドコグロ MM92-cuLp)
2018/04/20(金) 22:17:00.80ID:DDZisBasM >>899
その受け取ったデータをどう使うかによる
その受け取ったデータをどう使うかによる
913デフォルトの名無しさん (ワッチョイ b39f-9jjH)
2018/04/21(土) 00:13:25.41ID:Oxipuy330 >>901
scanf() の * は・・・
scanf() の * は・・・
914デフォルトの名無しさん
2018/04/21(土) 03:47:37.05ID:Ynju1Yzg hallo warld
915デフォルトの名無しさん (ワッチョイ 8a7f-+rmP)
2018/04/21(土) 03:55:01.78ID:nJ9/ilUK0 >>914
ばかに見えるから止めた方がいいと思うよ
ばかに見えるから止めた方がいいと思うよ
916デフォルトの名無しさん (ワッチョイ b727-9jjH)
2018/04/21(土) 06:07:34.81ID:pETeS31u0917デフォルトの名無しさん (ワッチョイ b727-9jjH)
2018/04/21(土) 06:24:19.45ID:pETeS31u0 >>904
898の例でゴミが問題になるのか?
898の例でゴミが問題になるのか?
918デフォルトの名無しさん (ワッチョイ 5fab-9jjH)
2018/04/21(土) 15:05:42.05ID:WYiI1Hbl0 入力された文字列(例えば10文字程度)を、
数字だけ*に変えるプログラムを作りたいと思ってるんですが、
どうもうまく行きません
どなたか簡単なコード書いてくれませんか
数字だけ*に変えるプログラムを作りたいと思ってるんですが、
どうもうまく行きません
どなたか簡単なコード書いてくれませんか
919デフォルトの名無しさん
2018/04/21(土) 15:31:16.54920デフォルトの名無しさん
2018/04/21(土) 15:32:52.02 ああ、あと入力された文字列にはマルチバイト文字が含まれるのか、1バイト文字なのかも明確にしとかないとな
921デフォルトの名無しさん (アウアウカー Sa43-udCU)
2018/04/21(土) 15:33:17.96ID:VeVDn114a >>918
お前さんが書いたコードをあげれば誰か添削くらいはしてくれるかもよ
お前さんが書いたコードをあげれば誰か添削くらいはしてくれるかもよ
922デフォルトの名無しさん (ワッチョイ 5fab-9jjH)
2018/04/21(土) 15:33:18.46ID:WYiI1Hbl0 >>919
すいません、半角でお願いします
すいません、半角でお願いします
923デフォルトの名無しさん
2018/04/21(土) 15:45:37.64 入力部分には>>897を使わせてもらった
#include <stdio.h>
#include <string.h>
void mask_num(char *s)
{
char *c;
for (c = &s[0]; *c != '¥0'; c++)
{
if (*c > '0' && *c < '9') *c = '*';
}
}
int main()
{
char line[64];
fgets(line, sizeof(line), stdin);
strtok(line, "¥n");
mask_num(line);
printf("%s¥n", line);
return 0;
}
#include <stdio.h>
#include <string.h>
void mask_num(char *s)
{
char *c;
for (c = &s[0]; *c != '¥0'; c++)
{
if (*c > '0' && *c < '9') *c = '*';
}
}
int main()
{
char line[64];
fgets(line, sizeof(line), stdin);
strtok(line, "¥n");
mask_num(line);
printf("%s¥n", line);
return 0;
}
924デフォルトの名無しさん (ワッチョイ b3b5-qxIM)
2018/04/21(土) 15:47:16.12ID:FmyBtpFH0 プログラムのコードの話してるのに全角は無いわ。
データの話ならむしろ文字コードとかまで考えなきゃならんがな。
データの話ならむしろ文字コードとかまで考えなきゃならんがな。
925デフォルトの名無しさん
2018/04/21(土) 15:49:15.15926デフォルトの名無しさん
2018/04/21(土) 15:51:21.42927デフォルトの名無しさん (ワッチョイ 4e81-9jjH)
2018/04/21(土) 16:07:01.70ID:a/Xqi2VF0 void mask_num(char *s)
{
while (*s) {
if (isdigit(*s)) *s = '*';
s++;
}
}
{
while (*s) {
if (isdigit(*s)) *s = '*';
s++;
}
}
928デフォルトの名無しさん (ワッチョイ b39f-9jjH)
2018/04/21(土) 16:17:22.90ID:Oxipuy330 入力して変換して出力するだけでいいならこうかな。
#include <stdio.h>
#include <ctype.h>
int main()
{
int c;
while ((c = getchar()) != EOF)
if (isdigit(c))
putchar('*');
else
putchar(c);
return 0;
}
#include <stdio.h>
#include <ctype.h>
int main()
{
int c;
while ((c = getchar()) != EOF)
if (isdigit(c))
putchar('*');
else
putchar(c);
return 0;
}
929デフォルトの名無しさん (ワッチョイ 2393-MaWf)
2018/04/21(土) 17:23:05.22ID:2bKzbSLP0930デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)
2018/04/21(土) 18:01:42.48ID:bgp2zzOH0 今回の発注者は>>918だから注意喚起として * じゃないの?
って確認するのは正しいけど全角半角言うならむしろ数字と言うのが半角だけでいいのかを確認した方がいいかと
下手すると 壱萬弐仟参佰四拾伍 が変換されてないじゃないかとか言われるかも知れんし
って確認するのは正しいけど全角半角言うならむしろ数字と言うのが半角だけでいいのかを確認した方がいいかと
下手すると 壱萬弐仟参佰四拾伍 が変換されてないじゃないかとか言われるかも知れんし
931デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/21(土) 18:05:08.78ID:uE8GRdCpd >>924
プログラムのコードの話なんてどこに書いてある?
プログラムのコードの話なんてどこに書いてある?
932デフォルトの名無しさん (ラクッペ MMcb-x+X/)
2018/04/22(日) 03:46:05.48ID:jlGSrB9uM >>930
Unicode正規化も確認しないとな
Unicode正規化も確認しないとな
933918 (ワッチョイ 5fab-9jjH)
2018/04/22(日) 06:45:30.49ID:5hVlVxZz0 すいません遅れました
添削おねがいします
#include <stdio.h>
void num_star(char *p)
{
while (*p)
if(*p >= '0' && *p <= '9')
*p++ = '*';
}
int main(void)
{
char ch[10];
printf("文字列を入力せよ\n");
scanf("&s",ch);
num_star(ch);
printf("%s\n", ch);
return 0;
}
添削おねがいします
#include <stdio.h>
void num_star(char *p)
{
while (*p)
if(*p >= '0' && *p <= '9')
*p++ = '*';
}
int main(void)
{
char ch[10];
printf("文字列を入力せよ\n");
scanf("&s",ch);
num_star(ch);
printf("%s\n", ch);
return 0;
}
934デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 06:59:36.50ID:cFbiqY2T0 >>933
scanfに"&s"は間違い"%9s"だ
if(*p >= '0' && *p <= '9')は標準関数でif(isdigit(*p))とできるのに勿体ない
p++はifの条件が偽のときに実行されなくなっている
scanfに"&s"は間違い"%9s"だ
if(*p >= '0' && *p <= '9')は標準関数でif(isdigit(*p))とできるのに勿体ない
p++はifの条件が偽のときに実行されなくなっている
935デフォルトの名無しさん (ワッチョイ b39f-+Fe+)
2018/04/22(日) 13:47:43.90ID:J/MYnpG10 数字以外の文字だけ入力されたら無限ループになって終わらないね。
936デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 13:59:28.07ID:1MVwzpIAd938デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 14:13:43.70ID:1MVwzpIAd リンクしない選択をすることもあるのだよ
色々な理由で
特にわざわざC言語を使うような環境では
色々な理由で
特にわざわざC言語を使うような環境では
939デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 14:18:09.76ID:1MVwzpIAd なにが「勿体ない」だか
940デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 14:38:15.31ID:cFbiqY2T0 >>936
> 標準ライブラリを全てリンクしてるかわからない
リンク? インプリメントの間違いだろ
何をリンクして何をリンクしないのかは
組み込みでは厳密に指定し結果も確認する
isdigitにはマクロバージョンもある
おそらくお前さんはそんなん知らんと言うだろうな
総じて、現物のコンパイラを細かくいじるということをせずに
上っ面だけ使って満足している手合いか
> 標準ライブラリを全てリンクしてるかわからない
リンク? インプリメントの間違いだろ
何をリンクして何をリンクしないのかは
組み込みでは厳密に指定し結果も確認する
isdigitにはマクロバージョンもある
おそらくお前さんはそんなん知らんと言うだろうな
総じて、現物のコンパイラを細かくいじるということをせずに
上っ面だけ使って満足している手合いか
941デフォルトの名無しさん (アウアウウー Sa47-jD/J)
2018/04/22(日) 14:40:37.67ID:RLohAeVua strip
942デフォルトの名無しさん (アウアウカー Sa43-udCU)
2018/04/22(日) 14:46:38.59ID:RDdUHzj0a >>936
そういう話は最低限の基本ができてから教えれば十分なことで、始めたばかりの初心者にあれこれ言ってかえって混乱させるのは良くないかと。
そういう話は最低限の基本ができてから教えれば十分なことで、始めたばかりの初心者にあれこれ言ってかえって混乱させるのは良くないかと。
943デフォルトの名無しさん
2018/04/22(日) 15:27:22.65 >>940
isdigitの指す文字が’0’〜’9’だけとも限らないからな(事実上は問題にならないとしても)
isdigitの指す文字が’0’〜’9’だけとも限らないからな(事実上は問題にならないとしても)
944デフォルトの名無しさん (アウアウウー Sa47-jD/J)
2018/04/22(日) 15:45:55.57ID:RLohAeVua digitの定義はlocaleに依存するので制御可能。
基本的にはisdigitが妥当だろうね。
自前でテーブル定義してもよい。大小で判断するのは危険だね。
基本的にはisdigitが妥当だろうね。
自前でテーブル定義してもよい。大小で判断するのは危険だね。
945デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)
2018/04/22(日) 16:35:36.81ID:H/AU6k7y0946デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 17:32:41.34ID:cFbiqY2T0947デフォルトの名無しさん (ドコグロ MMba-cuLp)
2018/04/22(日) 17:59:29.92ID:rTRuhMGrM >>946
X 3010:2003 (ISO/IEC 9899:1999)
5.2.1文字集合
ソース基本文字集合及び実行基本文字集合の双方において,10 進数字に関する上の並びにおいて,0 の右側に並んでいる各文字の値は,一つ左側にある文字の値に比べ 1 だけ大きくなければならない。
X 3010:2003 (ISO/IEC 9899:1999)
5.2.1文字集合
ソース基本文字集合及び実行基本文字集合の双方において,10 進数字に関する上の並びにおいて,0 の右側に並んでいる各文字の値は,一つ左側にある文字の値に比べ 1 だけ大きくなければならない。
948デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 18:31:37.06ID:cFbiqY2T0949デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)
2018/04/22(日) 18:58:05.22ID:H/AU6k7y0 >>949
「0 の右側に並んでいる各文字の値は,一つ左側にある文字の値に比べ 1 だけ大きく」なっていない文字集合は思いつけませんね…
ftp%3A//ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00037.pdf
「0 の右側に並んでいる各文字の値は,一つ左側にある文字の値に比べ 1 だけ大きく」なっていない文字集合は思いつけませんね…
ftp%3A//ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00037.pdf
951デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 19:35:50.81ID:cFbiqY2T0952デフォルトの名無しさん (ワッチョイ 0bb3-9jjH)
2018/04/22(日) 19:36:32.85ID:YjWQK7FP0 [[['[] ]]] { {] ]][ '[][][] [][] [][][] [] '[] []
953デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)
2018/04/22(日) 20:06:54.82ID:H/AU6k7y0954デフォルトの名無しさん (ワッチョイ 578a-/Wij)
2018/04/22(日) 20:06:57.91ID:TH0cxcHD0955デフォルトの名無しさん (ワッチョイ 1ad2-JOUt)
2018/04/22(日) 20:20:55.56ID:d95yXvpO0 再帰関数を使って次の問題の会を出すプログラム書いたんですけど、なんかミスばっかでダメなので、だれかどういうプログラム書けばいいのか教えてもらえませんか?
九つの椅子が
○○○
○○○
○○○
のように並んでおり、はじめに数字の書いた札を持った何人かが座っているとする
例
○○5
○9○
12○
さらに他にも何人か数字の書いた札を持った人がいて、その人たちが空いてる席に順番に座って行くとする
全員座った後、それぞれの点数を数えるとする、ただし点数は前後左右の人が持ってる札の数字を足し算する
例
○○5
○9○
12○
で 3さん→4さん→7さん とすわり
○75
493
12○
となった、9の点数は7+4+3+2
この時、それぞれが自分の点数を常に最大になるように座ったら最終的にはどういう配置になるでしょう?ただし
・それぞれは座る順番を知っている
・その次に座る人達がどこに座るかまで考慮に入れて考える
・自分以外の点数は気にしない
・誰もいないところは0
・次の人が何箇所か座る候補があり絞れない時は常に予想図の最小値をとって考えるとする、つまり極端にリスクを恐れる
九つの椅子が
○○○
○○○
○○○
のように並んでおり、はじめに数字の書いた札を持った何人かが座っているとする
例
○○5
○9○
12○
さらに他にも何人か数字の書いた札を持った人がいて、その人たちが空いてる席に順番に座って行くとする
全員座った後、それぞれの点数を数えるとする、ただし点数は前後左右の人が持ってる札の数字を足し算する
例
○○5
○9○
12○
で 3さん→4さん→7さん とすわり
○75
493
12○
となった、9の点数は7+4+3+2
この時、それぞれが自分の点数を常に最大になるように座ったら最終的にはどういう配置になるでしょう?ただし
・それぞれは座る順番を知っている
・その次に座る人達がどこに座るかまで考慮に入れて考える
・自分以外の点数は気にしない
・誰もいないところは0
・次の人が何箇所か座る候補があり絞れない時は常に予想図の最小値をとって考えるとする、つまり極端にリスクを恐れる
956デフォルトの名無しさん (ワッチョイ 1ad2-JOUt)
2018/04/22(日) 20:22:39.58ID:d95yXvpO0 質問てここでいいですか?
957デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)
2018/04/22(日) 20:32:24.58ID:H/AU6k7y0958デフォルトの名無しさん (ワッチョイ b351-GfG9)
2018/04/22(日) 20:58:30.62ID:kdP+cJ/x0 >>955
面白そうなテーマだから、お題スレに投げてみるのがいいのではないかと誘導
プログラミングのお題スレ Part10
http://mevius.2ch.net/test/read.cgi/tech/1514772904/
面白そうなテーマだから、お題スレに投げてみるのがいいのではないかと誘導
プログラミングのお題スレ Part10
http://mevius.2ch.net/test/read.cgi/tech/1514772904/
959デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 21:11:08.54ID:1MVwzpIAd960デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 21:17:34.90ID:1MVwzpIAd >>940
どこからつっこんでいいのやら
どこからつっこんでいいのやら
961デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 21:18:50.30ID:1MVwzpIAd >>957
どこかで見たセリフ
どこかで見たセリフ
962デフォルトの名無しさん (ワッチョイ 4e81-9jjH)
2018/04/22(日) 21:19:12.17ID:T8nVVEKh0 形式
#include <ctype.h>
int isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
機能説明
上記にリストされている関数はすべて ctype.h 内で宣言されており、指定されている整数値をテストします。
c で適切な整数値は、unsigned char または EOF として表現可能なものです。
デフォルトで、これらの関数は ctype.h がインクルード されている場合はマクロとして定義されます。
パフォーマンスを良くするために、関数形式よりマクロ形式を使うのが適切です。
#include <ctype.h>
int isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
機能説明
上記にリストされている関数はすべて ctype.h 内で宣言されており、指定されている整数値をテストします。
c で適切な整数値は、unsigned char または EOF として表現可能なものです。
デフォルトで、これらの関数は ctype.h がインクルード されている場合はマクロとして定義されます。
パフォーマンスを良くするために、関数形式よりマクロ形式を使うのが適切です。
963デフォルトの名無しさん (アウアウウー Sa47-9jjH)
2018/04/22(日) 21:26:12.24ID:20oer2uOa >>962
そういえばそれって locale 考慮すると言っときながら unsigned char でしか
判定してくれないというなんとも言えない仕様だよな。マルチバイトの判定が
できない。まあそんな拡張したら面倒な感じはするのでそのままでもいいが。
そういえばそれって locale 考慮すると言っときながら unsigned char でしか
判定してくれないというなんとも言えない仕様だよな。マルチバイトの判定が
できない。まあそんな拡張したら面倒な感じはするのでそのままでもいいが。
964デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 21:28:15.82ID:cFbiqY2T0 ですます調ということは、JISソースではないな
965デフォルトの名無しさん
2018/04/22(日) 21:29:41.48 >>963
つ iswdigit
つ iswdigit
966デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 21:31:58.01ID:cFbiqY2T0 C99以後はinlineがあるんだがID:1MVwzpIAdはC89前提?それともK&Rかね
967デフォルトの名無しさん (スププ Sdba-JOUt)
2018/04/22(日) 21:33:04.20ID:1srXW/Rwd >>958
ありがとうございます、そっち行きます
ありがとうございます、そっち行きます
968デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 21:33:34.88ID:1MVwzpIAd 前提など不要
969デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 21:34:00.82ID:cFbiqY2T0970デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 21:34:42.49ID:1MVwzpIAd どんな環境かわからないんだからどんな環境でも動くコードが良い
971デフォルトの名無しさん (ワッチョイ b704-9jjH)
2018/04/22(日) 21:36:00.62ID:cFbiqY2T0 レスが長文化してるやつは効いてる効いてるwだが
逆もまた真なり
情報量が非常に乏しいレスしかしなくなったやつw
逆もまた真なり
情報量が非常に乏しいレスしかしなくなったやつw
972デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 21:42:55.38ID:1MVwzpIAd ねえねえ
なにが「勿体ない」の?
なにが「勿体ない」の?
973デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)
2018/04/22(日) 22:18:10.29ID:H/AU6k7y0 >>969
> 英字が連続していないことにメリットがあるとは思えるのか?
おそらくEBCDICのことを言ってるんだろうけどあれはパンチカードフォーマットから変換しやすくするような体系になってるだけの話
> 英字が連続していないことにメリットがあるとは思えるのか?
おそらくEBCDICのことを言ってるんだろうけどあれはパンチカードフォーマットから変換しやすくするような体系になってるだけの話
974デフォルトの名無しさん (ワッチョイ 578a-/Wij)
2018/04/22(日) 22:19:34.67ID:TH0cxcHD0 >>961
何ら有益な情報を書けない。只の荒らしでしょ。
何ら有益な情報を書けない。只の荒らしでしょ。
975デフォルトの名無しさん (アウアウカー Sa43-jD/J)
2018/04/22(日) 22:35:44.05ID:OBDOSUSoa 今更で悪いけど、文字はまず集合として扱うのが筋だからさ。
大小比較したいなら、一度数値に直せばいいじゃんと思うよ。これについては規格上の正しさという話ではなくて、抽象的な意味にこだわらないと保守性下がるというのが実感としてあるから言うとるのよ。
大小比較したいなら、一度数値に直せばいいじゃんと思うよ。これについては規格上の正しさという話ではなくて、抽象的な意味にこだわらないと保守性下がるというのが実感としてあるから言うとるのよ。
「こういう仕様になっているのはこういう理由だからだ」という設問
あるいは「もしこういう仕様だったらこういう問題があっただろう」という反実仮想的設問には意味があると思っているから、そういう話で盛り上がる今はありがたいと思っています
あるいは「もしこういう仕様だったらこういう問題があっただろう」という反実仮想的設問には意味があると思っているから、そういう話で盛り上がる今はありがたいと思っています
977デフォルトの名無しさん (ワッチョイ 4e81-9jjH)
2018/04/22(日) 22:40:48.03ID:T8nVVEKh0978デフォルトの名無しさん (スプッッ Sd5a-Incm)
2018/04/22(日) 22:43:35.78ID:bBx4tH0Hd979デフォルトの名無しさん (ワッチョイ 578a-/Wij)
2018/04/22(日) 23:07:06.08ID:TH0cxcHD0 >>978
最近のBOTは優秀になったのね。CNTKか何かか?
最近のBOTは優秀になったのね。CNTKか何かか?
980デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)
2018/04/22(日) 23:08:02.95ID:H/AU6k7y0 >>974
関係ないことを堂々と書く奴に言われてもな w
関係ないことを堂々と書く奴に言われてもな w
レス数が950を超えています。1000を超えると書き込みができなくなります。
