!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
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言語なら俺に聞け 154
https://mevius.5ch.net/test/read.cgi/tech/1578997950/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 155
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 76ba-P5bm)
2020/05/10(日) 23:20:27.99ID:Z3WQBr9X0374蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd5f-Oc0l)
2020/06/28(日) 22:18:47.05ID:dcZQFZ1fd #define POUT(x) printf(#x " = %d\n", (x))
こっちの方がいいか?
こっちの方がいいか?
375デフォルトの名無しさん (ワッチョイ 0f01-5fXH)
2020/06/28(日) 22:53:44.96ID:HzcxpANJ0 文字列リテラルの連結は滅多に使わないけど盲点というか
わかってて使うには良いものだね
"aaaa" "bbbb" → "aaaabbbb" として解釈される
わかってて使うには良いものだね
"aaaa" "bbbb" → "aaaabbbb" として解釈される
376デフォルトの名無しさん (ワッチョイ 7f63-htoQ)
2020/06/28(日) 22:57:59.33ID:qWBhd30v0377デフォルトの名無しさん (ワッチョイ 4f7f-Tpb5)
2020/06/28(日) 23:05:22.34ID:sygO1Ih/0 usage表示したいときとか普通に使うわ
378デフォルトの名無しさん (スプッッ Sddf-WMoV)
2020/06/29(月) 00:09:50.35ID:eubxXrdwd 私も普通に使う
379デフォルトの名無しさん (ワッチョイ 8f01-/Fs/)
2020/06/29(月) 01:27:56.70ID:C/fQS0GP0 viがバグるのでやめてください。
380デフォルトの名無しさん (ワッチョイ cf05-NJGG)
2020/06/29(月) 08:55:46.03ID:UQIGysI+0 vimはバグらないぞ
381デフォルトの名無しさん (JP 0H43-R4wo)
2020/06/29(月) 08:57:31.19ID:y9Ww1t9/H もしかして: vim
382デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/29(月) 08:58:42.61ID:nBP9TntY0 vimじゃないviには長年世話になったもんだ
383デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/29(月) 13:35:04.89ID:rjGVLU620384デフォルトの名無しさん (エムゾネ FF5f-qwRG)
2020/06/29(月) 15:01:50.53ID:fw2IFdDxF and が & と &&
or が | と ||
という具合に bit 演算用と論理演算用で演算子が違いますが
bit 演算の xor は ^ で
int a = 123, b = 456;
のとき a^b と描けますが
論理式の xor はどう描けばいい?
bool u = true, v = true;
のとき u^v と描いても問題無いですか?
or が | と ||
という具合に bit 演算用と論理演算用で演算子が違いますが
bit 演算の xor は ^ で
int a = 123, b = 456;
のとき a^b と描けますが
論理式の xor はどう描けばいい?
bool u = true, v = true;
のとき u^v と描いても問題無いですか?
385デフォルトの名無しさん (ワッチョイ 0fda-pW1u)
2020/06/29(月) 15:17:39.29ID:TPMqgpKl0 (u != v) で良いのでは?
386デフォルトの名無しさん (エムゾネ FF5f-qwRG)
2020/06/29(月) 15:25:14.45ID:fw2IFdDxF bool に 0 と !0 以外が入ってても大丈夫ですか?
387デフォルトの名無しさん (エムゾネ FF5f-qwRG)
2020/06/29(月) 15:27:23.97ID:fw2IFdDxF もし御存じの方がいらっしゃったらで良いのですが
"u ^^ v" みたいな演算子が無い理由も知りたいです
問題後出しで済みません
"u ^^ v" みたいな演算子が無い理由も知りたいです
問題後出しで済みません
388デフォルトの名無しさん (JP 0H43-R4wo)
2020/06/29(月) 15:37:10.60ID:y9Ww1t9/H ビットごとのxorは暗号とかで多用するけど、
論理式のxor(一方のみ真)はめったに使わないからかと。
!u != !v が最小かな。
論理式のxor(一方のみ真)はめったに使わないからかと。
!u != !v が最小かな。
389デフォルトの名無しさん (エムゾネ FF5f-qwRG)
2020/06/29(月) 15:41:17.96ID:fw2IFdDxF ありがとうございました
390デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/29(月) 16:32:31.26ID:nBP9TntY0 関係演算子の結果はint型の1か0なんだから
a < 124 ^ b < 456 でもいいはず
a < 124 ^ b < 456 でもいいはず
391デフォルトの名無しさん (ワッチョイ 0fda-vVPI)
2020/06/29(月) 17:07:26.21ID:TPMqgpKl0 C99以降のbool型(_Bool型)の値はfalse(0)とtrue(1)のどちらかしか取り得ない
変数や式の評価が0以外の場合はすべて1に変換される
評価結果の値が不明の場合はbool型にキャストすると良い
(bool)u != (bool)v
変数や式の評価が0以外の場合はすべて1に変換される
評価結果の値が不明の場合はbool型にキャストすると良い
(bool)u != (bool)v
392はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f3e-NJGG)
2020/06/29(月) 17:12:09.58ID:vApDDB4S0 イディオムとしては !! を付ける (否定を二回やる) というのもよく知られている。
(見づらいので良くないという意見もある。)
(見づらいので良くないという意見もある。)
393デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/29(月) 17:19:40.81ID:nBP9TntY0 !!は厨二病臭くて俺はあんまりやらないが
この程度で読みづらいとか言い出すスキル不足なやつに迎合する意図は毛頭ない
この程度で読みづらいとか言い出すスキル不足なやつに迎合する意図は毛頭ない
394デフォルトの名無しさん (ワッチョイ 0fda-vVPI)
2020/06/29(月) 17:24:25.71ID:TPMqgpKl0 適当サンプルプログラム
https://i.imgur.com/OgY6Qcz.png
https://i.imgur.com/OgY6Qcz.png
395デフォルトの名無しさん (スップ Sddf-WMoV)
2020/06/29(月) 17:44:20.33ID:1Lbf5C9Kd 0, !0 意外の値が入ってた場合にどんな結果を期待するかによる
396デフォルトの名無しさん (ワッチョイ 8f46-rLul)
2020/06/29(月) 17:55:06.30ID:I0J8qHbO0 禅問答かよ。
397デフォルトの名無しさん (ワッチョイ 3f01-76DX)
2020/06/29(月) 19:26:41.50ID:xaDJZCCE0398デフォルトの名無しさん (JP 0Hbf-EqIm)
2020/06/29(月) 19:30:21.97ID:rBtTXcyIH C言語に使ってるエディタとかIDEとか教えてください
OSとかの環境もあるとありがたい
OSとかの環境もあるとありがたい
399デフォルトの名無しさん (スップ Sddf-WMoV)
2020/06/29(月) 19:31:22.68ID:JUEjBXx8d EDLIN
400デフォルトの名無しさん (ワッチョイ 8fe6-vKxb)
2020/06/29(月) 19:59:21.99ID:x9/2kcfz0 >>398
C言語を何に使うかによって全然違うと思うけど
C言語を何に使うかによって全然違うと思うけど
401デフォルトの名無しさん (スップ Sddf-WMoV)
2020/06/29(月) 20:00:40.16ID:JUEjBXx8d 何に使うかでそんなに変わるか?
402デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/29(月) 20:03:09.44ID:6d9dL1u1a C言語でエンドルフィンの造出をアヘアヘ
404デフォルトの名無しさん (ワッチョイ 0f01-5fXH)
2020/06/29(月) 20:13:09.53ID:o6pktO+O0 学習用途で ideone や codepad 規模で済むなら Webブラウザ
405デフォルトの名無しさん (ワッチョイ 0fda-vVPI)
2020/06/29(月) 20:21:56.62ID:TPMqgpKl0406はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f3e-NJGG)
2020/06/29(月) 20:23:46.01ID:vApDDB4S0 >>398
OS: Windows10
コンパイラ: gcc と clang (msys2 の pacman で入るやつ)
その他に Open Watcom C とか LCC (LSI-C じゃなくて Little C Compiler ね) とか
エディタ: Emacs
OS: Windows10
コンパイラ: gcc と clang (msys2 の pacman で入るやつ)
その他に Open Watcom C とか LCC (LSI-C じゃなくて Little C Compiler ね) とか
エディタ: Emacs
407デフォルトの名無しさん (ワッチョイ 8fe6-vKxb)
2020/06/29(月) 20:24:01.34ID:x9/2kcfz0 初学の時、H8に書くとき、arduinoに書くとき、それぞれ全部違ったわ。
408デフォルトの名無しさん (ワッチョイ 8f14-5Vex)
2020/06/29(月) 21:14:11.50ID:Gzb8Tiox0409デフォルトの名無しさん (ワッチョイ ff8c-ZANo)
2020/06/29(月) 21:49:44.45ID:uavgiC7w0 適切な問題とヒントが一番大事。
410デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/30(火) 06:48:50.33ID:W+MWiusu0 >>398
秀丸
秀丸
411デフォルトの名無しさん (ワッチョイ cf2c-wMgy)
2020/06/30(火) 07:20:47.85ID:ojYrCHBE0 漏れは、Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を、build-essential で、コンパイルして入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える
build-essential には、
gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などが入っています
パッケージ: build-essential
https://packages.ubuntu.com/ja/bionic/build-essential
VSCode の拡張機能、Remote WSL も使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を、build-essential で、コンパイルして入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える
build-essential には、
gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などが入っています
パッケージ: build-essential
https://packages.ubuntu.com/ja/bionic/build-essential
412デフォルトの名無しさん (ラクッペペ MM4f-pW1u)
2020/06/30(火) 11:26:03.93ID:Xg3HKp34M build-essential以外はC言語には関係ないな
413デフォルトの名無しさん (ワッチョイ ab7b-06wU)
2020/07/02(木) 09:18:11.06ID:1XrTO7+60 Cに限らず汎用で使える開発環境で色々やってるってことかと。
俺も基本的にはvimとmakeで何でもやる。
vimの中でとりあえず :make と打ってQuickFix機能でエラー修正。
上手く拾ってくれない時は ~/.vimrc で errorformat 変数に追加。
>>398 の人はOSも知りたいってことなので追加。
Linuxのウィンドウ環境使わないコンソールでfbterm(日本語表示用)。
ツール類はディストリビューションに入ってた奴。
俺も基本的にはvimとmakeで何でもやる。
vimの中でとりあえず :make と打ってQuickFix機能でエラー修正。
上手く拾ってくれない時は ~/.vimrc で errorformat 変数に追加。
>>398 の人はOSも知りたいってことなので追加。
Linuxのウィンドウ環境使わないコンソールでfbterm(日本語表示用)。
ツール類はディストリビューションに入ってた奴。
414デフォルトの名無しさん (JP 0H42-2vAA)
2020/07/06(月) 17:38:55.00ID:6O25/+p5H int main (void)
{ char a[256];
printf("Enter a string:");
scanf("%s", a);
(以下略)
勉強中に上のような「キーボード入力からchar型配列に文字列を格納する」という処理を見かけました
この例だと(ヌル文字含め)256文字以上の文字が入力されたときはその後の処理が正常にできなくなりますよね
現実的には値を充分大きく指定しておけば問題はないのでしょうが、入力された文字数に応じて要素数を適切に設定したりはできないのでしょうか?
{ char a[256];
printf("Enter a string:");
scanf("%s", a);
(以下略)
勉強中に上のような「キーボード入力からchar型配列に文字列を格納する」という処理を見かけました
この例だと(ヌル文字含め)256文字以上の文字が入力されたときはその後の処理が正常にできなくなりますよね
現実的には値を充分大きく指定しておけば問題はないのでしょうが、入力された文字数に応じて要素数を適切に設定したりはできないのでしょうか?
415はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6b3e-VQSO)
2020/07/06(月) 17:43:57.76ID:Js6m+wFY0416デフォルトの名無しさん (ワッチョイ 2705-VQSO)
2020/07/06(月) 19:26:19.29ID:y838Udr90417デフォルトの名無しさん (ワッチョイ 1e63-BXkI)
2020/07/06(月) 19:39:29.44ID:A/JwDwXO0 後続処理で問題が起きる
418デフォルトの名無しさん (ワッチョイ 2fb3-mf8G)
2020/07/06(月) 19:40:44.58ID:X9mxW4kC0 a[255]=0;
419デフォルトの名無しさん (ワッチョイ 6a77-VQSO)
2020/07/06(月) 20:42:40.45ID:sDUgop1M0 scanfは入力ミスでへんな無限ループに陥ったことがあるからなぁ。
420デフォルトの名無しさん (ワッチョイ 2fb3-mf8G)
2020/07/06(月) 20:45:13.65ID:X9mxW4kC0 それはscanfの問題?
421デフォルトの名無しさん (ワッチョイ 6a77-VQSO)
2020/07/06(月) 20:50:02.85ID:sDUgop1M0 入力バッファに改行が残って云々ってことらしい。
422デフォルトの名無しさん (ワッチョイ 0a0e-VQSO)
2020/07/07(火) 06:45:34.69ID:hl3O6vw80 scanfの問題ではないね
!=EOFなんて書くバカが100%悪い
!=EOFなんて書くバカが100%悪い
423デフォルトの名無しさん (ラクッペペ MMc6-fHqu)
2020/07/07(火) 07:24:10.77ID:stuZ2AfxM 入力バッファに残った改行コードが問題の場合は fflush(stdin) で吐き出さないとどうにもならない
424デフォルトの名無しさん (ワッチョイ ab7b-06wU)
2020/07/07(火) 07:43:16.74ID:bJbvn87/0 fflush() が確実に効くのは出力ストリームだけでしょ。
stdin でも使える独自拡張された環境もあるか知れんけど。
stdin でも使える独自拡張された環境もあるか知れんけど。
425デフォルトの名無しさん (ワッチョイ 1ed2-VQSO)
2020/07/07(火) 07:54:27.38ID:p6ZLMZTk0 scanf前にバッファクリアするコードあったけど、
そういうやつってパイプやリダイレクトつかっても正常作動するの?
そういうやつってパイプやリダイレクトつかっても正常作動するの?
426デフォルトの名無しさん (ラクッペペ MMc6-06wU)
2020/07/07(火) 11:09:20.23ID:qR67pRFEM パイプやリダイレクトか判定する方法がOSによって提供されてる環境なら問題ない
427はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6b3e-VQSO)
2020/07/07(火) 12:04:22.54ID:tzlORGl20 方法が用意されててもそれをきちんと利用してるソフトが少なかったら意味ないぞ。
428デフォルトの名無しさん (スッップ Sdaa-mf8G)
2020/07/07(火) 12:19:33.35ID:/8q6WRwjd scanfをそのまま不特定多数が使うソフトに入れることなんかないんだから
正しく入力してください
で終わる
正しく入力してください
で終わる
429デフォルトの名無しさん (スップ Sd4a-xROu)
2020/07/07(火) 13:58:40.76ID:OPOprIbsd scanfを何に使うかという話と
仕様を理解して使うという話は
別問題だ
仕様を理解して使うという話は
別問題だ
430デフォルトの名無しさん (エムゾネ FFaa-A0XE)
2020/07/07(火) 14:00:00.91ID:092JXqIfF431デフォルトの名無しさん (ワッチョイ ab7b-06wU)
2020/07/07(火) 16:19:53.16ID:bJbvn87/0 scanf には * の指定子ないんだわ。
432デフォルトの名無しさん (アウアウウー Sacf-Im8i)
2020/07/07(火) 18:32:30.56ID:e1WbjzO/a * には別の意味がある。
433デフォルトの名無しさん (ワッチョイ 6b01-Wiu6)
2020/07/07(火) 19:29:43.35ID:USscR6RS0 引き数から引っ張ってくる * がないとなると
sprintf で scanf フォーマット文字列を作るということになる?のか?
sprintf で scanf フォーマット文字列を作るということになる?のか?
>>423
それは環境依存
それは環境依存
435431 (ワッチョイ 857b-4PPV)
2020/07/08(水) 06:21:59.38ID:sJ2uy93A0 >>432
scanf の * 書式指定子は「読み捨て」の指示だったね。
printf の * とは使い方が違うけど、ちゃんとある。
…存在をすっかり忘れてたよ。ありがとう。
>>433
カーニハン&パイクの『プログラミング作法』には
sprintfで書式指定文字列を作る方法が載ってるね。
下に示す例に比べれば手軽で分かりやすい。
入力文字幅がコンパイル時固定ならマクロを駆使して…
// マクロ名を「マクロの内容を表す文字列」に変換するマクロ関数
#define MACRO_TO_STR_SUB(name) #name
#define MACRO_TO_STR(name) MACRO_TO_STR_SUB(name)
#define WIDTH 15 // 入力制限字数(末尾の'\0'を含まない)
char buf[WIDTH+1]; // +1 for '\0'
scanf("%" MACRO_TO_STR(WIDTH) "s", buf);
こんな感じにできるけど、面倒でしょ。
scanf の * 書式指定子は「読み捨て」の指示だったね。
printf の * とは使い方が違うけど、ちゃんとある。
…存在をすっかり忘れてたよ。ありがとう。
>>433
カーニハン&パイクの『プログラミング作法』には
sprintfで書式指定文字列を作る方法が載ってるね。
下に示す例に比べれば手軽で分かりやすい。
入力文字幅がコンパイル時固定ならマクロを駆使して…
// マクロ名を「マクロの内容を表す文字列」に変換するマクロ関数
#define MACRO_TO_STR_SUB(name) #name
#define MACRO_TO_STR(name) MACRO_TO_STR_SUB(name)
#define WIDTH 15 // 入力制限字数(末尾の'\0'を含まない)
char buf[WIDTH+1]; // +1 for '\0'
scanf("%" MACRO_TO_STR(WIDTH) "s", buf);
こんな感じにできるけど、面倒でしょ。
436デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/08(水) 06:35:08.91ID:SF9V14yC0 char fmt[(size_t)floor(log10(~(size_t)0) + 1) + 3];
char buf[256];
sprintf(fmt, "%%%llus", sizeof buf - 1);
scanf(fmt, buf);
char buf[256];
sprintf(fmt, "%%%llus", sizeof buf - 1);
scanf(fmt, buf);
437デフォルトの名無しさん (エムゾネ FF43-VqvP)
2020/07/08(水) 09:30:02.93ID:hADFKHguF438デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/08(水) 10:07:58.22ID:SF9V14yC0 単項#はマクロの中でしか使えない
439デフォルトの名無しさん (エムゾネ FF43-VqvP)
2020/07/08(水) 10:11:35.43ID:hADFKHguF #define MACRO_TO_STR(name) #name
そもそもこれもだめなんですね
そもそもこれもだめなんですね
440デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/08(水) 10:34:21.44ID:SF9V14yC0 んなわけねえだろ
なんでやねん
なんでやねん
441デフォルトの名無しさん (ワッチョイ cb63-56/R)
2020/07/08(水) 10:59:20.81ID:g3a6T0uX0 後でメンテが大変だぞ
半年経ったら、今の自分が他人になる
半年経ったら、今の自分が他人になる
442デフォルトの名無しさん (JP 0H93-4zP6)
2020/07/08(水) 11:22:06.26ID:woPNJQ5aH IT掲示板群 ttp://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
☆ VMを書いた(C#) * x86ではない!
ttp://up.x0000.net/files/TSimulang.zip
☆ malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
☆ VMを書いた(C#) * x86ではない!
ttp://up.x0000.net/files/TSimulang.zip
☆ malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
443デフォルトの名無しさん (ワッチョイ cb69-6wWl)
2020/07/08(水) 11:45:14.69ID:KKQXIGLi0 #define WIDTH 10
#define MACRO_TO_STR(name) #name
MACRO_TO_STR(WIDTH)
は渡された識別子をそのまま文字列化するので "WIDTH" になる
マクロWIDTHを展開した後での文字 "10" が欲しいときは >>435 のように
一見無駄に見えるマクロのピンポンを行なう
#define MACRO_TO_STR(name) #name
MACRO_TO_STR(WIDTH)
は渡された識別子をそのまま文字列化するので "WIDTH" になる
マクロWIDTHを展開した後での文字 "10" が欲しいときは >>435 のように
一見無駄に見えるマクロのピンポンを行なう
444デフォルトの名無しさん (スップ Sd03-rJjo)
2020/07/08(水) 11:48:56.64ID:l8qeRlOJd x0000.netをNGっと
445デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/08(水) 12:22:54.79ID:SF9V14yC0 ああ、そういうことか
解説dx
解説dx
446デフォルトの名無しさん (ワッチョイ 35e6-ucCN)
2020/07/08(水) 13:27:10.12ID:0ZaAZSr60 >>428
その「正しく入力してください」に至らないのが今回の話題
その「正しく入力してください」に至らないのが今回の話題
447デフォルトの名無しさん (ワッチョイ 2301-65sm)
2020/07/08(水) 16:37:27.08ID:mO8IXR2n0 >>444
まだやってなかったのか?
まだやってなかったのか?
448デフォルトの名無しさん (スップ Sd43-Tflg)
2020/07/08(水) 17:48:03.59ID:T5O+XOTRd449デフォルトの名無しさん (ワッチョイ a5da-1Cui)
2020/07/08(水) 18:06:49.38ID:EQ9tLW1C0 不正入力ではなくてコンソールと入力バッファの仕様が問題
標準入力stdinがキーボードの場合入力バッファには目的とする文字コードの直後に必ず改行コードが残る
scanfの書式が%dなどの数値型だと改行は取り込まれないので数値型を連続して使用した場合は型が合わずに続くデータを取りこぼす
標準入力stdinがキーボードの場合入力バッファには目的とする文字コードの直後に必ず改行コードが残る
scanfの書式が%dなどの数値型だと改行は取り込まれないので数値型を連続して使用した場合は型が合わずに続くデータを取りこぼす
450デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/08(水) 18:11:07.83ID:SF9V14yC0 ん、%dは先行する空白類文字をスキップするぞ
451デフォルトの名無しさん (ワッチョイ 0db3-Tflg)
2020/07/08(水) 18:25:39.71ID:QndvSIjd0 >>449
正しい入力で正しく動かないならそれはバグだよ
正しい入力で正しく動かないならそれはバグだよ
452デフォルトの名無しさん (ワッチョイ a5da-1Cui)
2020/07/08(水) 18:29:27.69ID:EQ9tLW1C0 訂正
たしかに数値型だけなら問題はないね
数値型と文字型の混在時に問題が起きる
scanf("%d", &x); // 数値 + 改行
...
scanf("%c", &y); // 必ず直前の改行となるので入力不可
...
scanf("%d", &z); // 数値 + 改行
たしかに数値型だけなら問題はないね
数値型と文字型の混在時に問題が起きる
scanf("%d", &x); // 数値 + 改行
...
scanf("%c", &y); // 必ず直前の改行となるので入力不可
...
scanf("%d", &z); // 数値 + 改行
453デフォルトの名無しさん (アウウィフ FF09-VqvP)
2020/07/09(木) 09:32:01.69ID:vrNDocOmF 無理にscanf使わずに
fgetsとsscanfやろ
fgetsとsscanfやろ
454デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/09(木) 09:45:13.42ID:jzluGOwX0 またアホが湧いた
455デフォルトの名無しさん (ワッチョイ 23ad-Bqa1)
2020/07/09(木) 09:51:17.63ID:RjpwDZh+0 Windows10proでC使いたいんです。
目的は大量のテキストデータの変換なので、
グラフィックとか音とかはプログラミングしません。
テキストでコーディングして、
CUIで実行ってな感じができればいいんですけど、
このぐらいだとMinGWが適当なんでしょうか?
目的は大量のテキストデータの変換なので、
グラフィックとか音とかはプログラミングしません。
テキストでコーディングして、
CUIで実行ってな感じができればいいんですけど、
このぐらいだとMinGWが適当なんでしょうか?
456デフォルトの名無しさん (ワッチョイ ad7c-jFjK)
2020/07/09(木) 09:57:12.39ID:uQo6bqoB0 tdm-gcc
457デフォルトの名無しさん (ワッチョイ 23a5-T5iX)
2020/07/09(木) 09:57:39.86ID:f5aLRaXK0458デフォルトの名無しさん (ワッチョイ 233d-Bqa1)
2020/07/09(木) 10:57:01.79ID:g1m/M0Pb0459デフォルトの名無しさん (アウウィフ FF09-VqvP)
2020/07/09(木) 11:04:23.27ID:vrNDocOmF 一行目も二行目も知ってる
460デフォルトの名無しさん (ドコグロ MM93-65sm)
2020/07/09(木) 12:36:53.26ID:ccQ+p+MVM461デフォルトの名無しさん (スップ Sd43-Tflg)
2020/07/09(木) 12:39:21.11ID:zi4hgNgDd 初心者教育でとりあえずコードを書い動かしてみる
でscanfじゃなきゃ何を使えって?
でscanfじゃなきゃ何を使えって?
462デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/09(木) 12:41:37.65ID:jzluGOwX0 >>460
対策しようのない欠陥と自分で言いながら何が正しいとぬかす?
対策しようのない欠陥と自分で言いながら何が正しいとぬかす?
463蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd43-FiFk)
2020/07/09(木) 12:42:19.97ID:2UhyUN9nd fgets
464デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/09(木) 12:48:17.81ID:jzluGOwX0 配列もFILE構造体も教えてない時点でfgetsとsscanfとか無理だろ
逆にこの辺まで教えてまだ実用的な入力関数が作れないようなら教え方が下手すぎ
逆にこの辺まで教えてまだ実用的な入力関数が作れないようなら教え方が下手すぎ
465デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/09(木) 12:49:49.88ID:jzluGOwX0 つーか、その被害者がいつまでもfgetsとsscanfにしがみついたまま進歩しないんだろうが
466デフォルトの名無しさん (ドコグロ MM93-65sm)
2020/07/09(木) 15:17:37.22ID:ccQ+p+MVM467デフォルトの名無しさん (ドコグロ MM93-65sm)
2020/07/09(木) 15:18:31.71ID:ccQ+p+MVM >>465
お前みたいな老害はそうなのかもなw
お前みたいな老害はそうなのかもなw
468デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/09(木) 16:18:37.55ID:jzluGOwX0469デフォルトの名無しさん (エムゾネ FF43-VqvP)
2020/07/09(木) 16:39:16.37ID:8CMntJuyF scanf要らねと思ったら後はgetcharで何でも出来るだろ
470デフォルトの名無しさん (ドコグロ MMa9-65sm)
2020/07/09(木) 18:22:16.49ID:EQDklninM471デフォルトの名無しさん (ワッチョイ 230e-ucCN)
2020/07/09(木) 18:51:05.00ID:jzluGOwX0 >>470
罵倒だけのレスもらうと優越感で気持ちいいわ
罵倒だけのレスもらうと優越感で気持ちいいわ
472デフォルトの名無しさん (ワッチョイ 0db3-Tflg)
2020/07/09(木) 19:04:00.56ID:g5p2N13I0 代案出さずに否定だけって
ダサい
ダサい
473デフォルトの名無しさん (ドコグロ MM93-65sm)
2020/07/09(木) 19:22:40.81ID:0UE7wqUeM 罵倒だけの>>468みたいなレスを見ても別に優越感なんて感じないけどね
むしろ憐れみしか感じないw
むしろ憐れみしか感じないw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【マギレコ】VIPでマギアレコード&マギアエクセドラ【まどドラ】
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【画像】中国、ガチで未来感ハンパない変態スマホを発明してしまう
- 【高市悲報】ウクライナ、ガチで敗北か?東部の帰属国民投票にかける可能性-ゼレンスキー [888298477]
- 【画像】サーナイト「お、起きないとチューしちゃうぞ…」ボソ
