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言語なら俺に聞け 142
http://mevius.2ch.net/test/read.cgi/tech/1502364083/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
2017/10/27(金) 21:28:08.20ID:pAogLeJi069デフォルトの名無しさん (ワッチョイ 7102-rVGZ)
2017/10/30(月) 19:47:29.26ID:4jg/LOEr0 >>68
ストリームを作ってるのがカーネルだからだろ。
ストリームを作ってるのがカーネルだからだろ。
70片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 41b3-KIob)
2017/10/30(月) 19:50:12.31ID:ct0tj9Za071デフォルトの名無しさん (ワッチョイ 9193-cGPg)
2017/10/30(月) 19:56:28.17ID:oEYvBlvb072デフォルトの名無しさん (ワッチョイ d1b3-ZNPd)
2017/10/30(月) 19:59:34.77ID:w02M5Pe50 8進 16進はあるけど 0b... な2進リテラルは余所の言語じゃね?
73片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 41b3-KIob)
2017/10/30(月) 20:01:52.91ID:ct0tj9Za0 2進数リテラル(C++14)
https://cpprefjp.github.io/lang/cpp14/binary_literals.html
C++14の機能らしい。D言語やC#にもあったよね。
https://cpprefjp.github.io/lang/cpp14/binary_literals.html
C++14の機能らしい。D言語やC#にもあったよね。
74片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 41b3-KIob)
2017/10/30(月) 20:07:07.38ID:ct0tj9Za0 int bigendian(void)
{
union { int i; char c[sizeof(int)]; } u;
u.i = 1;
return !u.c[0];
}
この関数でエンディアンをチェックすれば? XScreenSaverから拾ったものだけど。
{
union { int i; char c[sizeof(int)]; } u;
u.i = 1;
return !u.c[0];
}
この関数でエンディアンをチェックすれば? XScreenSaverから拾ったものだけど。
75片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 41b3-KIob)
2017/10/30(月) 20:14:13.81ID:ct0tj9Za0 union endian_checker_union
{
int i; char c[sizeof(int)];
} endian_checker = { 1 };
#define IS_BIG_ENDIAN() (!endian_checker.c[0])
{
int i; char c[sizeof(int)];
} endian_checker = { 1 };
#define IS_BIG_ENDIAN() (!endian_checker.c[0])
76デフォルトの名無しさん (ワッチョイ 497f-20SA)
2017/10/30(月) 20:16:20.68ID:6zI0CLS+0 >>70
なんでC言語の話でlibstdc++が出てくるの?
fopenやらのストリームなんて、setvbufの説明読めばバッファリングしてるだけって理解できるだろ
カーネルやらlibcのソースなんて読む必要性なんてねーよ
なんでC言語の話でlibstdc++が出てくるの?
fopenやらのストリームなんて、setvbufの説明読めばバッファリングしてるだけって理解できるだろ
カーネルやらlibcのソースなんて読む必要性なんてねーよ
77デフォルトの名無しさん (ササクッテロラ Sp9d-jmG0)
2017/10/30(月) 20:33:32.20ID:LaVtZ0d2p ストリームなんて、なんでもかんでも先頭から順番に処理するってだけの概念だけどな。
ランダムアクセスメモリーも読み飛ばしと巻き戻し駆使してアクセスするのさ。
ランダムアクセスメモリーも読み飛ばしと巻き戻し駆使してアクセスするのさ。
78デフォルトの名無しさん (ワッチョイ 719f-Akqv)
2017/10/30(月) 23:47:44.78ID:nQXUW6Dj0 >>49
マシン語には何でもできるねw
マシン語には何でもできるねw
79デフォルトの名無しさん (ワッチョイ 719f-Akqv)
2017/10/31(火) 00:10:44.27ID:TMBeGW2t080デフォルトの名無しさん (オッペケ Sr9d-2G8F)
2017/10/31(火) 02:08:26.69ID:yucmEvc2r >>64
あざます!
あざます!
81デフォルトの名無しさん (ワッチョイ 719f-Akqv)
2017/10/31(火) 03:25:37.26ID:TMBeGW2t0 >>64
そういえばそれ、それでいいの?2回目以降は n >>= 8 では?
そういえばそれ、それでいいの?2回目以降は n >>= 8 では?
82デフォルトの名無しさん (ワッチョイ 1387-jmG0)
2017/10/31(火) 08:48:27.57ID:sbQ4uuQC0 >>79
それって、htons()のあるライブラリ間違えたら全く意味が無いマクロだよね?
それって、htons()のあるライブラリ間違えたら全く意味が無いマクロだよね?
83デフォルトの名無しさん (ワッチョイ 0b23-20SA)
2017/10/31(火) 09:15:02.97ID:om7ZjX940 >>72
接頭辞0bは今どきのgccで普通に使えちゃうんだなこれが
接頭辞0bは今どきのgccで普通に使えちゃうんだなこれが
84デフォルトの名無しさん (アウアウカー Saed-ZNPd)
2017/10/31(火) 09:27:38.26ID:nPjSgXlla gcc拡張が当然の前提で話が進むと結構困る
85デフォルトの名無しさん (ワッチョイ 0b23-20SA)
2017/10/31(火) 11:06:07.87ID:om7ZjX940 なので、質問者も回答者も 「ほんとはダメだけどgccならこうよ」
みたいな但し書きを一筆しとくべきだね
みたいな但し書きを一筆しとくべきだね
87デフォルトの名無しさん (ワッチョイ 719f-Akqv)
2017/10/31(火) 23:37:41.07ID:TMBeGW2t0 >>82
ライブラリというか、ヘッダだな。#include <arpa/inet.h> とか。
コンパイラにもよるだろうけどだいたいはヘッダの中だけで #define されているか
ビルトインの関数に置き換えられるかインラインアセンブラになるか、適当に
うまいことやってくれると思う。(CPUが Big endian なら #define htons(x) (x) に
なってて何もしないだけになるかも知れない)。
それと一応 POSIX.1‐2008 のようなので使えるコンパイラは多いんじゃないかな。
ライブラリというか、ヘッダだな。#include <arpa/inet.h> とか。
コンパイラにもよるだろうけどだいたいはヘッダの中だけで #define されているか
ビルトインの関数に置き換えられるかインラインアセンブラになるか、適当に
うまいことやってくれると思う。(CPUが Big endian なら #define htons(x) (x) に
なってて何もしないだけになるかも知れない)。
それと一応 POSIX.1‐2008 のようなので使えるコンパイラは多いんじゃないかな。
88デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
2017/11/01(水) 02:46:02.61ID:TUg4iVeD0 今ってC言語でwin32とかで作るアプリに基本構造とかなしで作る感じなの?
89デフォルトの名無しさん (ワッチョイ ebe8-nu9H)
2017/11/01(水) 07:20:25.79ID:oQpzogGj0 日本語でOK
90デフォルトの名無しさん (ワッチョイ 1387-jmG0)
2017/11/01(水) 09:27:14.69ID:AnlYMxNy0 イベントを拾って条件分岐みたいな部分は全部関数内に隠蔽された。
今は決まった名前のコールバック関数を埋めるだけのお仕事。
今は決まった名前のコールバック関数を埋めるだけのお仕事。
91デフォルトの名無しさん (ワッチョイ 41b3-YANY)
2017/11/01(水) 13:43:28.66ID:Sb/s6/mM0 malloc
realloc
わからん
使うん?
realloc
わからん
使うん?
92デフォルトの名無しさん (ワッチョイ 138a-whYl)
2017/11/01(水) 14:04:15.81ID:G3xjFDeG0 ケースバイケース
93デフォルトの名無しさん (ワッチョイ 7181-/MqV)
2017/11/01(水) 14:12:00.47ID:0yoHAkyy0 実行時に必要なメモリーサイズが決まるようなプログラムだと必要。
最初から大きなメモリーを確保しても無駄になるかもしれないし、
当初想定したサイズでは足りなくなるかもしれない。
そういうときに使う。
最初から大きなメモリーを確保しても無駄になるかもしれないし、
当初想定したサイズでは足りなくなるかもしれない。
そういうときに使う。
94デフォルトの名無しさん (ササクッテロラ Sp9d-jmG0)
2017/11/01(水) 14:12:15.55ID:Dwgab4vip 組み込みでは1度大きく確保したら後は自前で中身やり繰りするから、あんまり使わない。
95デフォルトの名無しさん (ワッチョイ 41b3-YANY)
2017/11/01(水) 15:19:44.00ID:Sb/s6/mM0 VS2017でやってるんだがファイル分割ってどうやるんだ
96デフォルトの名無しさん (ワッチョイ ebea-ZNPd)
2017/11/01(水) 15:24:42.09ID:GbnHNcua0 Visual Studio 2017 Part4
https://mevius.5ch.net/test/read.cgi/tech/1509244956/
左のファイルのツリーで 項目の追加 で 新しく .c のソースファイル名指示すれば
勝手にコンパイルとリンクのターゲットにしてくれる (予定
https://mevius.5ch.net/test/read.cgi/tech/1509244956/
左のファイルのツリーで 項目の追加 で 新しく .c のソースファイル名指示すれば
勝手にコンパイルとリンクのターゲットにしてくれる (予定
97デフォルトの名無しさん (ワッチョイ 719f-Akqv)
2017/11/01(水) 22:58:59.77ID:jxmKQQAl098デフォルトの名無しさん (ワッチョイ 1387-jmG0)
2017/11/01(水) 23:00:55.45ID:AnlYMxNy0 Linuxだからって、メモリーリークが無くなるワケじゃ無いからなぁ〜。
99デフォルトの名無しさん (ワッチョイ 719f-Akqv)
2017/11/01(水) 23:11:29.84ID:jxmKQQAl0 ま、そりゃそうだけどね。
100デフォルトの名無しさん (ワッチョイ 9ba1-qonp)
2017/11/01(水) 23:58:24.93ID:T3zOKizx0101デフォルトの名無しさん (ワッチョイ edb6-zM96)
2017/11/02(木) 05:57:23.41ID:0ZjxmEGf0 「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
https://bodoge.hoobby.net/columns/00013
はじめてボードゲームを作ってはじめてゲームマーケットに出店した ので、ひとり反省会をしてみる。
http://datecocco.hatenablog.com/entry/2015/11/26/000000
はじめて作ったボードゲームを売った話
http://nrmgoraku.hateblo.jp/entry/2017/05/17/210000
ボードゲームイベント「ゲームマーケット」から業界が見えた!
https://entertainmentstation.jp/61107
ボードゲームはどう作るのか、自分なりに考えた
http://roy.hatenablog.com/entry/2014/07/09/124824
オトナも遊べるボードゲーム!自作するといくらになるのか
http://www.d-laboweb.jp/special/sp312/
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
https://bodoge.hoobby.net/columns/00013
はじめてボードゲームを作ってはじめてゲームマーケットに出店した ので、ひとり反省会をしてみる。
http://datecocco.hatenablog.com/entry/2015/11/26/000000
はじめて作ったボードゲームを売った話
http://nrmgoraku.hateblo.jp/entry/2017/05/17/210000
ボードゲームイベント「ゲームマーケット」から業界が見えた!
https://entertainmentstation.jp/61107
ボードゲームはどう作るのか、自分なりに考えた
http://roy.hatenablog.com/entry/2014/07/09/124824
オトナも遊べるボードゲーム!自作するといくらになるのか
http://www.d-laboweb.jp/special/sp312/
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
102デフォルトの名無しさん (ドコグロ MM61-r/51)
2017/11/02(木) 08:04:37.86ID:BfnVxeM2M103デフォルトの名無しさん (スップ Sdc2-98vg)
2017/11/02(木) 17:15:09.25ID:UMCJ4RbSd https://ideone.com/lGSKsq
漸化式を使って組合せnCmの値を表示するプログラムです
数字を大きくすると正しい結果が出ないので困っています(例えば45C11
修正箇所教えてほしいです
漸化式を使って組合せnCmの値を表示するプログラムです
数字を大きくすると正しい結果が出ないので困っています(例えば45C11
修正箇所教えてほしいです
104デフォルトの名無しさん (ワッチョイ 2ee8-Q/5A)
2017/11/02(木) 18:14:52.51ID:I//dCy6q0 なぜ入力もlongにしないのだ?
105デフォルトの名無しさん (スップ Sd62-98vg)
2017/11/02(木) 18:20:01.37ID:aAcU+3M+d >>104
入力はそこまで大きい値を入れるつもりはないのでintにしました
入力はそこまで大きい値を入れるつもりはないのでintにしました
106片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-iQJQ)
2017/11/02(木) 18:26:10.31ID:JDKI/Gfo0 >>103
C言語の場合は、整数同士の割り算は整数の除算になる。例)3/2 == 1.
整数をfloatやdoubleにキャストしても情報落ちのため、浮動小数点数では正確な除算は計算できない。
https://ideone.com/aDJXNO
C言語の場合は、整数同士の割り算は整数の除算になる。例)3/2 == 1.
整数をfloatやdoubleにキャストしても情報落ちのため、浮動小数点数では正確な除算は計算できない。
https://ideone.com/aDJXNO
107デフォルトの名無しさん (スップ Sd62-98vg)
2017/11/02(木) 18:39:45.95ID:aAcU+3M+d >>106
gはnとmの最大公約数
あとnCmは必ず整数になるのでn-1Cm-1/Bの部分も小数にならず割り切れて整数になると思うんです
n=Ag m=Bg (A.Bは互いに素)として
n/m*n-1Cm-1
=A/B*n-1Cm-1 (※A/Bは小数になる)
= A*(n-1Cm-1/B)
=(n/g)*(n-1Cm-1/(m/g))
として計算すればうまく小数になるのを避けられるのではないかと考えました
すみませんC言語というより数学的な話で
gはnとmの最大公約数
あとnCmは必ず整数になるのでn-1Cm-1/Bの部分も小数にならず割り切れて整数になると思うんです
n=Ag m=Bg (A.Bは互いに素)として
n/m*n-1Cm-1
=A/B*n-1Cm-1 (※A/Bは小数になる)
= A*(n-1Cm-1/B)
=(n/g)*(n-1Cm-1/(m/g))
として計算すればうまく小数になるのを避けられるのではないかと考えました
すみませんC言語というより数学的な話で
108片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-iQJQ)
2017/11/02(木) 19:31:39.13ID:JDKI/Gfo0109デフォルトの名無しさん (スップ Sd62-98vg)
2017/11/02(木) 19:43:50.32ID:aAcU+3M+d >>108
nCm (※整数)
=n/m*n-1Cm-1
= (A/B)*(n-1Cm-1)
= A*(n-1Cm-1/B)
・左辺が整数なので右辺も整数です
・A/BはAとBが互いに素(※最大公約数が1)なのでこれ以上約分できない分数です
ということは右辺が整数になるときn-1Cm-1/Bが整数です
B=m/gなのでつまり(n-1)C(m-1)/(m/g)は整数ではないでしょうか
nCm (※整数)
=n/m*n-1Cm-1
= (A/B)*(n-1Cm-1)
= A*(n-1Cm-1/B)
・左辺が整数なので右辺も整数です
・A/BはAとBが互いに素(※最大公約数が1)なのでこれ以上約分できない分数です
ということは右辺が整数になるときn-1Cm-1/Bが整数です
B=m/gなのでつまり(n-1)C(m-1)/(m/g)は整数ではないでしょうか
110片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-iQJQ)
2017/11/02(木) 19:55:21.08ID:JDKI/Gfo0 nCmが整数なので、A*((n-1)C(m-1)/B)も整数であろう。
しかし、((n-1)C(m-1)/B)が整数と判断するのは論理の飛躍だ。
n=2, m=2, g=1と仮定すると、A=n/g=2/1=1, B=m/g=2/1=2.
すると、((n-1)C(m-1)/B)=(1C1)/2となって整数ではない。
しかし、((n-1)C(m-1)/B)が整数と判断するのは論理の飛躍だ。
n=2, m=2, g=1と仮定すると、A=n/g=2/1=1, B=m/g=2/1=2.
すると、((n-1)C(m-1)/B)=(1C1)/2となって整数ではない。
111デフォルトの名無しさん (スップ Sd62-98vg)
2017/11/02(木) 19:59:15.85ID:aAcU+3M+d >>110
この漸化式は0<m<nという条件のもとなのでn=mの可能性はないです
この漸化式は0<m<nという条件のもとなのでn=mの可能性はないです
113片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-iQJQ)
2017/11/02(木) 20:10:31.31ID:JDKI/Gfo0114デフォルトの名無しさん (スップ Sd62-98vg)
2017/11/02(木) 20:17:29.03ID:aAcU+3M+d115デフォルトの名無しさん (スップ Sd62-98vg)
2017/11/02(木) 20:22:30.92ID:aAcU+3M+d (n*n-1Cm-1)/m
と計算せず
(n/g)*(n-1Cm-1/(m/g))
と遠回りして計算したのは掛け算より前に割り算をして桁あふれを防止するためだったのですが、これだけではまだ読みが甘いみたいですね
と計算せず
(n/g)*(n-1Cm-1/(m/g))
と遠回りして計算したのは掛け算より前に割り算をして桁あふれを防止するためだったのですが、これだけではまだ読みが甘いみたいですね
116片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-iQJQ)
2017/11/02(木) 20:33:31.27ID:JDKI/Gfo0 k>nのときnCkはゼロになるはずだ。間違えている。
117片山博文MZ (ワッチョイ 99b3-iQJQ)
2017/11/02(木) 20:40:49.25ID:JDKI/Gfo0118片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-iQJQ)
2017/11/02(木) 20:44:22.04ID:JDKI/Gfo0 >>115
100!が何桁になるかわかっているか?
100!が何桁になるかわかっているか?
119デフォルトの名無しさん (ワッチョイ e1b3-8/j8)
2017/11/02(木) 20:52:14.20ID:Jo74z7Xm0 組み込みの整数使うより 多倍長整数使うような話だな
120デフォルトの名無しさん (ササクッテロラ Spf1-XwAf)
2017/11/02(木) 21:33:15.98ID:YtLG92Gup πの計算みたいに配列でやればいいんだよ。
121デフォルトの名無しさん (ワッチョイ 319f-dVlt)
2017/11/03(金) 00:48:44.74ID:mQ2prqq70 π (*´ェ`*)
122デフォルトの名無しさん (ワッチョイ 3181-Z6Fy)
2017/11/03(金) 01:01:25.37ID:x/X9+IGP0 πの配列w
二つ並ぶのがいいな
二つ並ぶのがいいな
123デフォルトの名無しさん (ワッチョイ 319f-dVlt)
2017/11/03(金) 01:17:45.54ID:mQ2prqq70 (πoπ)
124デフォルトの名無しさん (ワッチョイ 4287-XwAf)
2017/11/03(金) 01:25:33.04ID:exxwx2Ub0 配列の四則計算かw
とりま、1桁辺り1バイトからやって行くと良い。
アルゴリズムは手計算方式で。
とりま、1桁辺り1バイトからやって行くと良い。
アルゴリズムは手計算方式で。
125デフォルトの名無しさん (ワッチョイ 4193-4xHX)
2017/11/03(金) 07:02:00.94ID:/utJWRuE0 cでutf-8文字列の扱い方がよくわからないのですがどうすればいいのでしょう
126デフォルトの名無しさん (ワッチョイ 4d08-S32u)
2017/11/03(金) 07:17:35.22ID:3SB+84d60127デフォルトの名無しさん (ワッチョイ 4193-ZDq4)
2017/11/03(金) 08:10:28.98ID:Ui3Q5cAp0128デフォルトの名無しさん (ワッチョイ 4287-XwAf)
2017/11/03(金) 11:50:36.80ID:exxwx2Ub0 そーゆーのって、C言語じゃなくて、ライブラリの仕様なんで、環境わからないと誰も答えられないよな。
129デフォルトの名無しさん (ワッチョイ 319f-1mNv)
2017/11/03(金) 12:27:14.54ID:1lWviljw0 プログラム中で扱う時はiconv()で変換しちゃうと楽だな。Windowsは知らんがOSが変換やってくれなかったっけ?忘れた。
130デフォルトの名無しさん (ワッチョイ 99b3-KOaZ)
2017/11/03(金) 16:53:04.29ID:kt+ZN5MJ0 #include <stdio.h>
int main(void)
{
int x, y, z;
scanf("%d", &x);
y = x;
for (x = x - 1;x > 1;x--) {
z = y % x;
if (z = 0) {
x = 0;
}
}
if (x = 0)
{
printf("入力値は素数ではありません\n");
}
else
{
printf("入力値は素数です\n");
}
fflush(stdin);
getchar();
return 0;
}
素数判定用のやつ作ったんだが動かない
問題点教えてください
int main(void)
{
int x, y, z;
scanf("%d", &x);
y = x;
for (x = x - 1;x > 1;x--) {
z = y % x;
if (z = 0) {
x = 0;
}
}
if (x = 0)
{
printf("入力値は素数ではありません\n");
}
else
{
printf("入力値は素数です\n");
}
fflush(stdin);
getchar();
return 0;
}
素数判定用のやつ作ったんだが動かない
問題点教えてください
131デフォルトの名無しさん (ワッチョイ 4287-XwAf)
2017/11/03(金) 16:58:25.19ID:exxwx2Ub0 さすがにネタだよな?
132デフォルトの名無しさん (ドコグロ MM61-ECNA)
2017/11/03(金) 17:06:46.06ID:pDgXQ2EkM fflush(stdin)は無意味
あとイコールが足りない
あとイコールが足りない
133デフォルトの名無しさん (ワッチョイ 2eea-8/j8)
2017/11/03(金) 17:09:14.02ID:q/3NCVak0 等しいかを比較するのは ==
if () の中であっても = は代入操作
× if (z = 0)
○ if (z == 0)
× if (x = 0)
○ if (x == 0)
if () の中であっても = は代入操作
× if (z = 0)
○ if (z == 0)
× if (x = 0)
○ if (x == 0)
134デフォルトの名無しさん (ワッチョイ 99b3-tWDu)
2017/11/03(金) 17:11:50.30ID:kt+ZN5MJ0 すいませんマジで==忘れてましたw
あとはif文でxの値に代入する数字を1にしたら直りました
やっぱ自分だけで考えてると基本なことにも忘れてしまいますねw
あとはif文でxの値に代入する数字を1にしたら直りました
やっぱ自分だけで考えてると基本なことにも忘れてしまいますねw
135デフォルトの名無しさん (ワッチョイ 4287-XwAf)
2017/11/03(金) 23:33:54.94ID:exxwx2Ub0 ネタじゃ無かったんかいw
136デフォルトの名無しさん (ワッチョイ 319f-dVlt)
2017/11/04(土) 00:31:06.07ID:Wr8YwoWe0 宿題かな?
137デフォルトの名無しさん (ワッチョイ e175-e3AS)
2017/11/04(土) 03:05:14.26ID:bSw/g7Kd0 おまえらバカにすることしか頭に無いのか
初心者ならこういうこともあるだろうに
初心者ならこういうこともあるだろうに
138デフォルトの名無しさん (ワッチョイ d2a1-Q/5A)
2017/11/04(土) 03:41:42.37ID:NciV8/1n0 警告オプションが必要だな
139デフォルトの名無しさん (ワンミングク MM92-5Y2u)
2017/11/04(土) 07:34:51.98ID:NNCD/Zi9M 嫌、「直しておきました」メッセージが必要だな
140デフォルトの名無しさん (ワイモマー MMa5-puHV)
2017/11/04(土) 10:16:02.36ID:t9DikZnoM 古代においては、(1 == y)としておけば、間違って(1 = y)とした時にコンパイルエラーで発覚する、という言い伝えが有った。
>
>#include <stdio.h>
>
>int main(void) {
> int x, y;
> scanf("%d", &x);
> y = x;
> while (x % (y -= 1))
> ;
> if (1 == y) {
> printf("入力値は素数です¥n");
> } else {
> printf("入力値は素数ではありません¥n");
> }
>
> return 0;
>}
>
>
>#include <stdio.h>
>
>int main(void) {
> int x, y;
> scanf("%d", &x);
> y = x;
> while (x % (y -= 1))
> ;
> if (1 == y) {
> printf("入力値は素数です¥n");
> } else {
> printf("入力値は素数ではありません¥n");
> }
>
> return 0;
>}
>
141デフォルトの名無しさん (ワッチョイ 319f-1mNv)
2017/11/04(土) 13:31:32.96ID:3FaXzC+X0 >>140
あーそうだな。今でもたまにそう書いてあるソースを見かける。
いつも自分ではやってないので違和感があるw
まあでもCみたいな言語だと本当はそう書いておいた方が良いんだろうけどね。
そう言えばこの頃のコンパイラはifで代入だけしてるようなのは見つけて警告出してくれるな。
あーそうだな。今でもたまにそう書いてあるソースを見かける。
いつも自分ではやってないので違和感があるw
まあでもCみたいな言語だと本当はそう書いておいた方が良いんだろうけどね。
そう言えばこの頃のコンパイラはifで代入だけしてるようなのは見つけて警告出してくれるな。
142デフォルトの名無しさん (アウアウカー Sa69-r1EQ)
2017/11/04(土) 13:39:20.69ID:R24m495Za143デフォルトの名無しさん (アウアウエー Sa4a-Q/5A)
2017/11/04(土) 13:39:48.38ID:mHYELh+Ca printfの、パラメータに置換される文字列の呼び名は何ですか?
%dや%cの総称です
%dや%cの総称です
144デフォルトの名無しさん (ワッチョイ e9c3-psPY)
2017/11/04(土) 13:55:14.14ID:M43VuEZC0 英語だとformat specifier
日本語だと書式指定子とかそんな感じ
日本語だと書式指定子とかそんな感じ
145デフォルトの名無しさん (アウアウエー Sa4a-Q/5A)
2017/11/04(土) 14:06:40.76ID:ubpt4sUTa >>144
ありがとうございます
ありがとうございます
146デフォルトの名無しさん (ワッチョイ e171-17Ne)
2017/11/04(土) 14:50:01.01ID:qs6ShQOW0 >>142
一昔前はどの本でも推奨してたんやで
一昔前はどの本でも推奨してたんやで
147デフォルトの名無しさん (ワッチョイ 2e80-frTj)
2017/11/04(土) 15:27:20.00ID:FdHKGPou0 リテラルには代入できないから、リテラルを左側へ書いておく
今は、MISRA-C で、100項目をチェックする事が義務化されているから、
違反は必ず報告される
でも、トヨタのように、5/100 しか取れない企業もある。
95も違反してるw
今は、MISRA-C で、100項目をチェックする事が義務化されているから、
違反は必ず報告される
でも、トヨタのように、5/100 しか取れない企業もある。
95も違反してるw
148デフォルトの名無しさん (ワッチョイ 4193-ZDq4)
2017/11/04(土) 16:10:54.87ID:XesRBOxx0149デフォルトの名無しさん (ワッチョイ c2e1-bcP5)
2017/11/04(土) 20:24:04.67ID:wPtyVAZ40 >>147
トヨタの例を見て分かるようにMISRA-Cは役に立たないという話か
トヨタの例を見て分かるようにMISRA-Cは役に立たないという話か
150デフォルトの名無しさん (ワッチョイ e175-e3AS)
2017/11/04(土) 20:33:34.59ID:bSw/g7Kd0 トヨタ社員乙
151デフォルトの名無しさん (ワッチョイ 42b3-r/51)
2017/11/04(土) 21:34:25.67ID:sTeHaJ1X0 MISRAは有効だけど盲信してるやつはバカ
152デフォルトの名無しさん (ワッチョイ 6e3e-cSXK)
2017/11/05(日) 16:44:19.44ID:rSDVGL6P0 全員が同じレベルで言語の仕様や処理系の実装を理解しているわけじゃないからなあ。
最底辺のレベルを合わせる為にMISRAのような約束事が有用であろう事は想像できるんだが…
俺、車業界のソフト屋じゃなくて良かったと思うわ。
いや、むしろ、いっその事、強制された方が楽か?
最底辺のレベルを合わせる為にMISRAのような約束事が有用であろう事は想像できるんだが…
俺、車業界のソフト屋じゃなくて良かったと思うわ。
いや、むしろ、いっその事、強制された方が楽か?
153デフォルトの名無しさん (ワッチョイ 428a-Lt6+)
2017/11/05(日) 16:52:45.91ID:7kWEh0GI0 底辺用のサブセットだからね
154デフォルトの名無しさん (ワッチョイ 62ee-S32u)
2017/11/05(日) 20:23:18.52ID:AvV+p+8R0 COBOLの二の舞
155デフォルトの名無しさん (ワッチョイ 4150-lboT)
2017/11/05(日) 20:37:42.87ID:Dhy1E5e10 初心者です。
C言語には標準出力関数がいくつかあって気になったのですが、
puts("文字列");
puts("文字列");
puts("文字列");
などと書くのと、
printf(
"文字列\n"
"文字列\n"
"文字列\n
);
のように書くので結果は同じようになると思うのですが、速度やリソースの消費に違いはあるのでしょうか?
どちらが速いとかメモリ消費が少ないとかあれば教えていただきたいです。
C言語には標準出力関数がいくつかあって気になったのですが、
puts("文字列");
puts("文字列");
puts("文字列");
などと書くのと、
printf(
"文字列\n"
"文字列\n"
"文字列\n
);
のように書くので結果は同じようになると思うのですが、速度やリソースの消費に違いはあるのでしょうか?
どちらが速いとかメモリ消費が少ないとかあれば教えていただきたいです。
156デフォルトの名無しさん (ワッチョイ 4980-wfes)
2017/11/05(日) 20:40:29.69ID:8jvJZ2xf0 後者は%を探すぶん遅そう
157デフォルトの名無しさん (ワッチョイ c2e1-bcP5)
2017/11/05(日) 20:54:32.17ID:+s13f97B0 前者はシステムコールが3回呼ばれそうだから遅そう
158デフォルトの名無しさん (ワッチョイ e18a-Dqmo)
2017/11/05(日) 21:09:58.63ID:oA1U3DCD0 putsだと自動的に改行されんのか
>>155
printf() は重い。puts() の方が軽いしコード量も少ない
printf() は重い。puts() の方が軽いしコード量も少ない
160デフォルトの名無しさん (ワッチョイ 9d7f-lboT)
2017/11/05(日) 21:19:49.85ID:Z/yFjIMy0 >>157
stdoutがline bufferedなら、どっちもwriteが3回呼ばれる
言語規格的には解析処理のあるprintfのほうが遅そうだけど
これぐらい単純なprintfだと、gcc/clang辺りでコンパイルするとputsに最適化される
副作用諸々でputs自体の呼び出し回数を減らすことはないから、puts1回の呼び出しで済むprintfのほうが早い
stdoutがline bufferedなら、どっちもwriteが3回呼ばれる
言語規格的には解析処理のあるprintfのほうが遅そうだけど
これぐらい単純なprintfだと、gcc/clang辺りでコンパイルするとputsに最適化される
副作用諸々でputs自体の呼び出し回数を減らすことはないから、puts1回の呼び出しで済むprintfのほうが早い
161デフォルトの名無しさん (ワッチョイ e175-e3AS)
2017/11/05(日) 21:26:10.62ID:pE+6s3oz0 すっげー
物知りだなぁ
物知りだなぁ
>>160
それはさすがになさそうだ…
printf()/vfprint() のCのコードを#include しているわけではなく、単にリンカがランタイムのコードをリンクしているだけなのでは?
いいかえると、printf() がCで書かれており、printf() もコンパイルするのなら最適化がかかるだろうが、さすがにそうじゃないだろう?
それはさすがになさそうだ…
printf()/vfprint() のCのコードを#include しているわけではなく、単にリンカがランタイムのコードをリンクしているだけなのでは?
いいかえると、printf() がCで書かれており、printf() もコンパイルするのなら最適化がかかるだろうが、さすがにそうじゃないだろう?
163デフォルトの名無しさん (ワッチョイ e175-e3AS)
2017/11/05(日) 21:31:03.45ID:pE+6s3oz0 もうさぁ実測でいいよね
164片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd62-y/PZ)
2017/11/05(日) 21:34:36.83ID:nRtobml0d >>162
はい、時代遅れ発見。LLVMとGCCはお互いに競争する形で最適化の技術を進化させているんだよ。
はい、時代遅れ発見。LLVMとGCCはお互いに競争する形で最適化の技術を進化させているんだよ。
165デフォルトの名無しさん (ワッチョイ 9d7f-lboT)
2017/11/05(日) 21:41:12.14ID:Z/yFjIMy0 gccはビルトイン関数のprintfを持ってるのに、ライブラリをリンクとか何言ってんだコイツ
166デフォルトの名無しさん (ワッチョイ 9d7f-lboT)
2017/11/05(日) 21:43:19.65ID:Z/yFjIMy0 ランタイムのコードをリンクか、どっちにしろアホ晒してるのは変わらんか
168デフォルトの名無しさん (ワッチョイ 2ee8-Q/5A)
2017/11/06(月) 01:36:37.31ID:ixOJFcN/0 いやいや勉強になるわ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【テレビ】25年ぶり復活「炎のチャレンジャー」南原清隆&菊池風磨がMC 懐かし「電流イライラ棒」も [湛然★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- ぬわーーーんつかれたもーーーーーん!!!!!!!
- くそしてかがやけ
