C言語なら俺に聞け 142 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8a6f-bDrV)
垢版 |
2017/08/10(木) 20:21:23.44ID:hEocmkh50
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/


http://mevius.2ch.net/test/read.cgi/tech/1500293207/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/10/12(木) 15:10:29.76ID:loBt1/dEd
>>657
#include <stdio.h>
int main(void) {
int i, n = 0;
for (i = 1; i <= 10; ++i) n += i;
printf("%d\n", n);
return 0;
}
659デフォルトの名無しさん (ガックシ 06eb-HijE)
垢版 |
2017/10/12(木) 15:18:14.51ID:OhN0e73F6
>>658
ありがとうございます!
2017/10/12(木) 18:50:09.63ID:7bIAw6590
人に思いを正しく伝えられない奴がうまくプログラミングできるとは思えないけど大丈夫なんだろう
661デフォルトの名無しさん (ササクッテロレ Sp45-NqOW)
垢版 |
2017/10/12(木) 20:36:00.66ID:1sF6m3D2p
俺は逆だと思っている。
人に上手く思いを伝えられないからこそ、
表現手段を駆使して伝えようと努力するんだよな。
絵とか音楽とか、クリエイターってそんな生き物。
2017/10/12(木) 21:49:52.42ID:wn8w1zGC0
>>661
> 絵とか音楽とか、クリエイターってそんな生き物。
全然違う
あいつらは自分の思いを伝えられるのは自分の表現法方だけだと思ってる
絵を描く奴で説明文を書いて思いを伝えるやつなんていないだろ
663デフォルトの名無しさん (ワッチョイ 799f-BSx0)
垢版 |
2017/10/12(木) 23:57:59.88ID:5ILt7KpA0
>>645
メモリマップドI/Oに使える。特定のアドレスを読むとキーボードで入力した文字が読めるとか、そういうやつ。
読んだ直後に内容が変わる可能性があるので volatile でないとまずい。
664デフォルトの名無しさん (ワッチョイ 799f-BSx0)
垢版 |
2017/10/13(金) 00:30:38.46ID:neFZx4WS0
共有メモリとか mmap() して複数のプロセスまたはスレッドがアクセスする領域も同じか。
あれ? こんなのちょっと前に話題にならなかったか?
2017/10/13(金) 06:51:32.49ID:txebgbcNM
DMAとかもあるわな
666デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 12:09:21.29ID:UePpwGnn0
ちょっとお尋ねします

char *a ;  と記述すると
 ↓
char a ; 実体化
int (&a) ; 非実体化(コンパイラが使用する変数)

が生成される
*の概念が無いと

char a ;    実体化
int a_point ; 実体化(アドレス長=intとする)
a_point = &a ; 実体化

例えばこう書くことになる


ポインタは関数内で宣言できる
その場合そのポインタの寿命は関数内に限定される


こんな感じの認識であってますか?
667デフォルトの名無しさん (アウーイモ MM1d-1+gY)
垢版 |
2017/10/13(金) 12:21:34.93ID:ZC5rLpvkM
ポインタの寿命はプログラム内じゃないん?
2017/10/13(金) 12:24:24.54ID:y6HLA65k0
実体化とか 非実体化とかの オレオレ用語は何を意図してるのかわからん
669デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 12:29:00.47ID:UePpwGnn0
>>667
ということはプログラム内でユニークな名前をつけなければならないということですね?
2017/10/13(金) 12:29:33.87ID:x6piWjtI0
>>666
言ってる意味がわからない
何の言語やってたの?
2017/10/13(金) 12:30:40.15ID:KnON5zi30
>>666
>char a ; 実体化
>int (&a) ; 非実体化(コンパイラが使用する変数)
ポインタを定義したからといって,即応して実体が生成されることはない
ポインタがさす実体は自分で生成しないといけない
672デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 12:31:44.24ID:UePpwGnn0
C言語です
実体/非実体とは機械語に変換されるかどうかということです
2017/10/13(金) 12:33:52.57ID:piAojqU/0
実体化とか非実体化とか、オブジェクト指向の概念でしょ。
Cではリテラルに対応するエリアがあって、それをデータの入れ物にするか、アドレスの入れ物にするか、だけでしょ。
いずれにしろ変数の寿命はグローバルスコープに定義するか、静的(static)に定義しないかぎり、
使われる関数のスコープ内に限られるでしょ。
674デフォルトの名無しさん (ワッチョイ 0b3f-MWTH)
垢版 |
2017/10/13(金) 12:33:53.32ID:/fw1jTt60
>>666
> char a; 実体化
というのを除き、だいたい合ってる
char *a;ではcharの実体は作られずに
int(&a);だけが作られる

Cの前身のBでは、*3 = 1;で
メモリの3番地に1を書き込むようになっていた

アドレス演算子もあって
auto a, b; /* 型の概念がないので記憶クラスだけ */
a = &b; /* bとして使っているメモリのアドレスを取得 */
*a = 1; /* bに1を代入 */

つまり、おまえさんの言うように整数変数を
そのままアドレスの表現に使っていた
675デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 12:42:43.01ID:UePpwGnn0
なるほど ありがとうございました
2017/10/13(金) 12:46:55.16ID:DPD6/A6xM
>>672
そんなものはコンパイラ次第で変わる
定数でアドレス取ってなきゃ実体を生成しないとか普通にあるし
2017/10/13(金) 12:48:21.81ID:y6HLA65k0
機械語に翻訳されるかどうかは
それまでの文意や環境(特に最適化)次第だもんな
678デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 12:49:08.21ID:UePpwGnn0
ちょっとお尋ねします
ベテランとお見受けする方は

/*    */ 
↑コメントにこれつかいますけど

//
↑何故これつかわないんですか?
なにかしらトラブルの元になったりするんですか?
679デフォルトの名無しさん (ワッチョイ 79be-HijE)
垢版 |
2017/10/13(金) 12:49:26.38ID:Xi3f71oh0
すげえややこしいな
コンパイラ作りたくなってきた
2017/10/13(金) 13:06:01.52ID:QZe0YwYUM
>>678
C99準拠を仮定できないなら前者を使わざるをえない
複数行をコメントする場合や文の途中をコメントする場合は基本的に前者を使う
行の後半にコメントを書く場合は両方使う
681デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 13:09:27.27ID:UePpwGnn0
おおおおおお
ありがとうございます
なるほどねー
そういうことですか
682デフォルトの名無しさん (ササクッテロロ Sp45-NqOW)
垢版 |
2017/10/13(金) 14:53:58.16ID:yVfJQeWEp
//は、文字コード特有のバグがあってだな。
683デフォルトの名無しさん (ワッチョイ 0b3f-MWTH)
垢版 |
2017/10/13(金) 15:14:34.29ID:/fw1jTt60
>>678
1行コメントならもちろん//を使うが
コメントが2行以上になる可能性が否定できない場合、
毎行いちいち//が必要なのは面倒なので
/*
*/
と折り返す恰好にする

それと1行コメントは内容的に馬鹿っぽくなりやすい
なんて気持ちもちょっとある
684デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 16:31:54.32ID:UePpwGnn0
C99非準拠の環境って工場のメンテとかそんな感じっすかね
685デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/13(金) 16:50:15.81ID:UePpwGnn0
>>682
も気になるな

アスキーコード "2F2F"って何かあるんですか?
2017/10/13(金) 17:10:14.68ID:51NkmwHu0
emacsだとコメントリージョンは/*になるからだろうな。
2017/10/13(金) 17:23:15.84ID:kwktlkZb0
>>682 の話は行の最後に \ があると次の行に継続するってやつかな。
その言語仕様と Shift-JIS の特定文字との組み合わせで問題が起きる。
「表」や「能」は文末に来る可能性が高い字でしょ。
2017/10/13(金) 17:26:39.84ID:KnON5zi30
いまどき shift jis ですか?
2017/10/13(金) 17:37:27.25ID:nzA1z5Pk0
苦Cで勉強してるけど文字列がよくわからん
あれいる?
2017/10/13(金) 17:43:15.33ID:KnON5zi30
>>689
どれだ?
2017/10/13(金) 17:43:35.67ID:z3X0WVAY0
ただの\0終端の文字型の配列を便宜的に文字列と呼んでいるだけ
2017/10/13(金) 17:52:09.39ID:nzA1z5Pk0
文字列処理関数
わざわざ配列に文字列入れる意味あるのか?
2017/10/13(金) 17:56:53.82ID:KnON5zi30
>>692
https://9cguide.appspot.com/14-03.html
か?
入力に scanf() 系を薦めているのは古い(fgets() を使うべき)とか問題はあるが、
内容は基本的で絶対に必要なものだ
C には「文字列型」はなく文字型の配列で扱うのは基本的な了解事項だ
2017/10/13(金) 18:02:19.89ID:nzA1z5Pk0
>>693
それ
結構重要なんだな
atoi型とかもよくわからんが
2017/10/13(金) 18:05:48.92ID:1QR3MvqoM
>>692
入れないと文字処理何もできないよ
2017/10/13(金) 18:06:49.21ID:KnON5zi30
>>694
atoi() は文字列の表現からint型に収まる表現に変換するもの
C では "123" と 123 を厳密に区別する
2017/10/13(金) 18:07:38.35ID:nzA1z5Pk0
わざわざ配列でやるのってprintfじゃ上書きできないから?
2017/10/13(金) 18:09:43.61ID:KnON5zi30
sprintf() というものはある
2017/10/13(金) 18:26:23.09ID:D1RCmTnA0
atoi は 文字列から数値へ変換する方向
(s)printf は 数値から文字列に変換する方向
2017/10/13(金) 18:46:00.32ID:nzA1z5Pk0
すまんよくわからん
まぁ配列の重要性はわかったけどさ
2017/10/13(金) 19:47:45.81ID:9FeTZoAH0
入力して下さい ?
? の二倍は---
っての作りたい
702デフォルトの名無しさん (ワッチョイ 0b3f-MWTH)
垢版 |
2017/10/13(金) 19:53:08.82ID:/fw1jTt60
またfgets厨が湧いたか
Cスレには付きものだが
誰が吹き込んでるんだかしつこさが異常なんだよな
まったく
703デフォルトの名無しさん (ガックシ 06eb-HijE)
垢版 |
2017/10/13(金) 20:16:18.00ID:qDJA92iZ6
>>701
/* -*- C -*- */

#include <stdio.h>

int main()
{
int input;
scanf("入力して下さい:%d", &input);
printf("%dの二倍は%d\n", input, input * 2);
return 0;
}
2017/10/13(金) 20:21:21.47ID:KnON5zi30
>>702
fgets() の方が総合的にすぐれていると思うのだが
705デフォルトの名無しさん (ワッチョイ 0b3f-MWTH)
垢版 |
2017/10/13(金) 21:08:48.11ID:/fw1jTt60
何がどのように何に対して優れているんだ?
腐っても工学者たるもの客観的で再検証可能な主張をしてみな
2017/10/13(金) 21:11:50.63ID:D1RCmTnA0
>>703
scanf はメッセージを出力したうえで値を受け取る関数じゃないんだ 残念ながら
707デフォルトの名無しさん (ササクッテロロ Sp45-NqOW)
垢版 |
2017/10/13(金) 21:17:30.86ID:yVfJQeWEp
え?scanfは、この通り打ち込まないと認識しないよって事だろ?
2017/10/13(金) 21:20:10.60ID:D1RCmTnA0
>>701 のは 入力して下さい も含めて入力を要求してたのか
こりゃ失礼
709デフォルトの名無しさん (ワッチョイ 5975-HijE)
垢版 |
2017/10/13(金) 21:31:55.79ID:DZqiVJRN0
>>706
dクス
2017/10/13(金) 21:37:13.63ID:aO55acrud
>>701
#include <stdio.h>
int main(void)
{
int n;
char buf[32];
printf("入力して下さい:");
fgets(buf, sizeof(buf), stdin);
n = atoi(buf);
printf("%dの二倍は%d\n", n, n * 2);
return 0;
}
2017/10/13(金) 21:39:30.87ID:KnON5zi30
>>705
scanf() はバッファオーバーランの温床
scanf("%s"); と何気なく書いてしまうとアウト
最初からバッファサイズを意識しなければならない fgets() の方が教育的
2017/10/13(金) 22:15:45.85ID:xDZ8VANT0
それ都市伝説だから、単に使い方間違えてるだけだから!
フィールド幅をちゃんと指定すればscanf系でも安全だよ?

まぁ、エラーメッセージの都合上fgets使うかもだけど。。。
2017/10/13(金) 22:16:23.56ID:HDAg9FRW0
gets_s()やscanf_s()を使えば済む話に思えるが
2017/10/13(金) 22:20:11.49ID:vlU7OwXLM
言いたいことは分かるなぁ
printfだって使い方間違えればフォーマットストリングで死ぬしな
2017/10/13(金) 22:28:05.05ID:KnON5zi30
>>712
そのフィールド幅の設定にマクロを使って指定できない,ハードコーディングの形になってしまう
これでは確保側との連携が取れない
716デフォルトの名無しさん (ワッチョイ 1387-NqOW)
垢版 |
2017/10/13(金) 22:31:22.01ID:KDt3KwS+0
C言語はアセンブラのラッパー言語だから、そう言うもんは各自が気を付ければいいのであって、へんな関数量産すんな。
717デフォルトの名無しさん (ワッチョイ 799f-BSx0)
垢版 |
2017/10/14(土) 04:50:34.97ID:rkGKts9o0
scanf() は POSIX.1-2008 で m という修飾子が規定されてだな・・・
https://paiza.io/projects/que1l9qus5fMStBgkGgF9w
2017/10/14(土) 05:25:15.07ID:G4fIdpwa0
m修飾子はscanf()の中でバッファの確保とポインタ代入をしてくれる、か。
使用者側がバッファを用意して容量はこれだけ、と言明するのとはちと違うね。

実用だと書式文字列をsnprintf()か何かで生成する手かなぁ。
2017/10/14(土) 06:38:32.00ID:qjmLCkqj0
実用なら動的確保で問題ねーだろ
720デフォルトの名無しさん (ワッチョイ 799f-vMUl)
垢版 |
2017/10/14(土) 06:44:41.93ID:YpZiBRe40
>>718
文字数制限したい場合は %3mc のように c を使うとできる。メモリ確保は相変わらず scanf() 側でやるので後で free() が必要であることには変わりがないが。
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/scanf.3.html
721デフォルトの名無しさん (ワッチョイ 0bf0-MWTH)
垢版 |
2017/10/14(土) 07:16:53.80ID:F19RwFTi0
>>711
くだらんなあ
%sのためにわざわざscanfなんぞ使う珍獣の話しかできんのかおまえは
2017/10/14(土) 09:37:54.97ID:wj7CJkun0
>>721
この話の発端のとあるC教育サイト
https://9cguide.appspot.com/14-03.html
では
scanf("%s");
を使っちまっている
珍獣というほどのものではないのでは?
禁じ手をやってしまう scanf() は悪
2017/10/14(土) 12:38:59.99ID:wj7CJkun0
>>720
所有権をうんぬんするようなところ、たとえば malloc() したところで free() する、という教義のもとでは使うのに抵抗があるかもしれない、
win32api などはそんなかんじ
2017/10/14(土) 12:40:09.00ID:kY4tNrcHd
>>723
教義という表現に込められたいやらしさ
2017/10/14(土) 12:41:35.66ID:qjmLCkqj0
>>723
windowsならscanf_s使え、posixならm修飾使えで解決ってことだな
726デフォルトの名無しさん (ワッチョイ 799f-vMUl)
垢版 |
2017/10/14(土) 13:41:17.27ID:YpZiBRe40
windowsの方でもscanf()のmあるのでは?
2017/10/14(土) 14:15:25.78ID:qjmLCkqj0
なんでposix拡張があると思うの?
2017/10/14(土) 14:56:12.00ID:VRAn8B+V0
配列って[]だったら自力でEOS入れなきゃいけないけど[]の中に数字入れると自動で入るの?
2017/10/14(土) 15:53:03.38ID:wj7CJkun0
>>728
逆だ
数字いれると自分で \0 を入れないといけない
数字がない場合は、\0 を自力で書かなくとも良い
2017/10/14(土) 15:58:39.20ID:pEkiZp92a
[迷信] scanf ではバッファオーバーランを防げない
http://www.kijineko.co.jp/tech/superstitions/buffer-overrun-of-scanf.html
[迷信] scanf でキーボードから入力
http://www.kijineko.co.jp/tech/superstitions/input-from-keyboard-by-scanf.html
731デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/14(土) 15:59:02.19ID:bKRFV+pB0
はい ちょっとお邪魔しますよ
ISR() signal() の違いについて
どちらを使うべきなのか うんちくきぼんぬですよ
732デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/14(土) 16:17:48.14ID:bKRFV+pB0
↑割り込みハンドラで使う関数についての質問です
733デフォルトの名無しさん (ワッチョイ 1387-NqOW)
垢版 |
2017/10/14(土) 16:24:17.93ID:J5VLsuMb0
組み込み系だとmallocなんか初期化関数ん中でしか使わない。
2017/10/14(土) 16:32:11.89ID:qjmLCkqj0
>>731
AVR libc独自か、規格で定められているかの違い
環境が限定されるならISRで良い
735デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/14(土) 16:42:09.10ID:bKRFV+pB0
なるほど! ありがとうございました
2017/10/14(土) 16:57:24.91ID:/3exgnU7M
>>731
環境わからんけどavrならISR()推奨
http://avrwiki.osdn.jp/cgi-bin/wiki.cgi?page=%B3%E4%A4%EA%B9%FE%A4%DF
737デフォルトの名無しさん (ワッチョイ 69d2-89ZN)
垢版 |
2017/10/14(土) 17:13:04.55ID:bKRFV+pB0
割り込みにまさかの独自ライブラリがあるとは思わなかった
>>736の参照先見ると色々なアトリビュートが設定できるようになっとるわw
その内容をみると自前で割り込み関係のレジスタ叩けば実現可能な機能ばかり
##pop/push/reti自動付加禁止だけはsignal()では実現不能?
signalでよさそうな気が。。。
2017/10/14(土) 17:25:11.34ID:qjmLCkqj0
ANSI Cのsignalじゃなくて、AVR拡張のSIGNALのこと言ってたの?
なら、manualでSIGNALじゃなくてISR使えってなってるよ
違いも、属性指定できるかどうかだけ

http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html#ga67cd0dea412157775c2f2a3ffe9fb8ff
739デフォルトの名無しさん (ワッチョイ 0bf0-MWTH)
垢版 |
2017/10/14(土) 19:42:35.98ID:F19RwFTi0
>>722
他には?
珍獣でないと主張するにはnが小さすぎるぜ
その小さすぎるnでどうたら言っちゃうおまえ
自らへの死刑宣告を読み上げている自覚はあるのか?
740デフォルトの名無しさん (ワッチョイ 79b3-dPak)
垢版 |
2017/10/14(土) 19:59:48.25ID:4XKuJznc0
クッサ
2017/10/15(日) 02:10:37.75ID:12RNBD+40
>>739
https://qiita.com/Tsutajiro/items/a5620b17ac530cc96e87
https://ja.wikipedia.org/wiki/Scanf
http://www9.plala.or.jp/sgwr-t/c/sec05.html
http://rainbow.pc.uec.ac.jp/edu/program/b1/Ex2-1b.htm
https://stackoverflow.com/questions/2155518/what-is-scanfs-and-scanfd-format-identifiers

「scanf("%s"」とグルるだけで、バッファオーバーランの危険がある注記のない上記記事が山のようにでてくる。
おすきなだけどうぞ、このように説明の手間を省きおざなりに scanf("%s") としてその場をとりつくろい、
読んだ人間は経験が少ないため、これでもいいのか、と勘違いしてしまう例は多々ある

scanf() は悪
やるんなら、fgets() してから sscanf() だの atoi() だの strtol() だので処理するのが定石
742デフォルトの名無しさん (ワッチョイ 799f-vMUl)
垢版 |
2017/10/15(日) 04:40:36.84ID:aLoOQk2A0
>>727
てか、C言語のライブラリの問題なのであるともないとも言えるよな。
POSIX準拠でないCコンパイラでも同じ動きをするライブラリをリンク時または実行時にリンクするならそう動くわけだし。
WindowsでもGCCでコンパイルするならそうなるわけだし。Cygwinの中ならなおのことそうだ。
743デフォルトの名無しさん (ワッチョイ 799f-BSx0)
垢版 |
2017/10/15(日) 05:29:35.87ID:ZgJv24or0
そう言えば fgets() も1行の長さが指定した長さ以上になった場合に入力に残るよな。
で、だいたいは妙に長いバッファ用意して誤魔化す(またはそういう仕様にするw)わけだが、
そういうのが通用しない場合はそれを上回る入力をされた時にエラーにするかまたは入力に
残った不要な文字列を捨てる処理はあった方が良い。そうでないなら GCC の getline() を
使うかまたは自作するかだ。
2017/10/15(日) 06:22:39.79ID:12RNBD+40
>>743
昔宿題スレで作ったけれども忘れてしまった,まあ誰しも一回はつくるものじゃないかな
2017/10/15(日) 07:05:24.20ID:KCBqed/H0
>>743
> そう言えば fgets() も1行の長さが指定した長さ以上になった場合に入力に残るよな。
当たり前だろ
より長い入力が想定されるなら普通に改行がでてくるまで続けて読めばいいだけだし
妙に長いバッファとかアホすぎる w
746名無し@キムチ (ワッチョイ 09b3-Qarq)
垢版 |
2017/10/15(日) 08:51:39.88ID:kjrLb6gv0
フィギュアスケートアニメーション作成ソフト「振付王」公開!!

ダウンロード↓
http://www.vector.co.jp/soft/winnt/game/se516681.html
デモ動画↓
http://youtu.be/j8KjRXr7zGs
747デフォルトの名無しさん (ワッチョイ 0102-MWTH)
垢版 |
2017/10/15(日) 09:47:59.48ID:J//jr+AC0
はははは、やっとn=6か
で、%sさえ使わなきゃscanfは安全なのか?
748デフォルトの名無しさん (ワッチョイ 0102-MWTH)
垢版 |
2017/10/15(日) 09:48:32.63ID:J//jr+AC0
>>741
>>747
2017/10/15(日) 10:01:56.35ID:12RNBD+40
>>747
>はははは、やっとn=6か
いくらでも増やせますが

>で、%sさえ使わなきゃscanfは安全なのか?
fgets() 推しの俺にきかれても,そんなことはわからない‥(困惑)
2017/10/15(日) 10:17:19.28ID:2VM8B8DT0
%sの危険性を長々と説明しているwikipediaを挙げてるんだからギャグのつもりだろ
stackoverflowも%sではなく%*sだし、scanf使ったことないのかな?
751デフォルトの名無しさん (ワッチョイ d1c7-MWTH)
垢版 |
2017/10/15(日) 13:38:38.59ID:R4tP3Q0h0
>>749
わからないだと?
おまえシッタカこいてただけか

まあそうだろうな、%s以外に言及できないようだから
2017/10/15(日) 14:19:43.64ID:12RNBD+40
>>751
fgets()でとりあえず読み込むのは有力な方針だからね、まあsscanf() を後段で使うことはあるね
scanf() のチマチマした書式は必要時に追いかければいい、今調べる必要はないと思うね

>シッタカ
大局観といってほしいね
753デフォルトの名無しさん (ワッチョイ 794b-dPak)
垢版 |
2017/10/15(日) 17:10:16.88ID:/ln1Xcyy0
scanf vs fgets
もう終わり?
754デフォルトの名無しさん (ワッチョイ e9c6-BSx0)
垢版 |
2017/10/15(日) 17:14:39.09ID:Yk/ODCzd0
くだらん戦いだ
2017/10/15(日) 17:27:36.97ID:12RNBD+40
あおりネタがなくてごめん…
756デフォルトの名無しさん (ワッチョイ d108-MWTH)
垢版 |
2017/10/15(日) 19:51:17.65ID:DZC0OlhV0
>>753
終わりつーか始まってない
そもそもscanfを把握してない御仁とでは話にならなくて
2017/10/15(日) 20:51:34.80ID:12RNBD+40
scanf() の詳細仕様を把握しないと判断できない、というのはどうかな?
scanf() が初期のころから建て増し建て増しでどんどん増えていったあの方向性は、正しくない複雑化のしかただと思うよ
scanf() を書く側にたってみると、おぞましい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況