TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Gitをより良くするための運用ガイドライン作成スレ
Excel Python 質問スレ
【Alloy】形式言語による仕様記述【VDM】
Perlは10年後の2023年には消えてなくなる
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
開発工数を大幅削減できた言語は存在しない
C言語なら俺に聞け 152
次世代言語18 V Julia 他
OpenCLプログラミング#1
シェルスクリプト総合 その28

C言語なら俺に聞け 155


1 :2020/05/10 〜 最終レス :2020/06/11
!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.2ch.sc/test/read.cgi/tech/1578997950/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

2 :
1乙

3 :
>>1おつかれです

4 :
for(int i = 0, a = 2; i < 10; ++i) ...
同じ型じゃなくて
Cで
for(int i = 0, long a = 2; i < 10; ++i) ...
観たいに描く方法を教えて

5 :
>>4
{
int i;
long a;
for(i = 0, a = 2; i < 10; ++i) ...
}

6 :
for文で++iって書くやつは過去の学習に縛られ惰性で生きている臆病者

7 :
C++使いは前置がデフォ

8 :
>>7
それを言っているんだ。 正しく自己を見つめ直せ

9 :
前置インクリメント VS 後置インクリメント
http://cpp.aquariuscode.com/preincriment-vs-postincriment

10 :
「値が使われる場合」

勝手に読み飛ばすな

11 :
>>6
i++ と書くと未来に縛られちゃうの?
つか、
for (略;略; ++i) と
for (略;略; i++) に違いあるの?

12 :
C++はテンプレートと演算子オーバーロードの関係で前置で良い場合は全て前置にする。

13 :
>>8
言ってる意味がさっぱりわからん
何が不満なんだ?

14 :
禿げ(C++の神)から前置にしろと御神託があった。
SA: 禿4 pp.982

15 :
いまどき小学生でも後置なんて使わんわ。

16 :
後置は幼女にのみ許される特殊な魔法。

17 :
http://hissi.org/read.php/tech/20200513/SmNqTThDZ1gw.html

18 :
4回書き込んだだけで2位かよ。
ム板はこれから青森サーバーと呼ぶ。

19 :
スレタイ

20 :
ムエタイがなんだって?

21 :
前置は不可分にしてしまった継続処理くらいにしか使いみちがない特殊な演算子だからのう
c言語的にどっちでもいい場合とりあえず前置にして論理バグのスルーを防ぐみたいなやり方あるかもしれない

22 :
後置の方が好きw

23 :
語順が名詞動詞で気持ちいい

24 :
for文の場合、インクリメントされるタイミングがブロックの末尾だから、後置の方が直感的な気がするね

25 :
それは気のせい

26 :
前置にしたときの言いようのない不安感

27 :
C言語しか知らなくて、学びながらプログラムの作成にチャレンジしてるものです。
fopenについて教えてください。
fopen("wb")で開くとポインタ(ストリーム?)はファイルの先頭で上書きモード
fopen("ab")で開くとポインタ(ストリーム?)はファイルの最後で追記モード
ということを知りました。

既存ファイルを開き、先頭部分のデータの一部を上書き、且つ、末尾にデータを追加したいと考えています。
この場合は、どっちか片方で開いてfseekとかでポインタ移動してしまえば、 上書きも追加もできるのでしょうか?
それとも上書きしたあと、一旦fcloseをして開きなおさなければならないのでしょうか。
よろしくお願いいたします。

28 :
>>27
fseek() で書きたい位置に移動して自由に fwrite()/fread() を使うだけで OK です。
fclose() は一番最後に一回だけでいいですよ

29 :
>>28
どっちのモードで開いてもいいんですね。
また、fopenを2回使う場合も、fcloseは最後の一回だけでいいという訳ですね。
ありがとうございました。

30 :
>>27
wは既存ファイルは0バイトに切り詰め、aは出力時はfseekが効かずに常に末尾に追加なので
既存ファイルはr+bで開いて、存在しない場合はw+bで作成するのがいいのではないかな

31 :
>>27
"ab+"

32 :
Ruby でやってみた
入力ファイル → 更新後
123456789 → abc456789xyz
filename = "test.dat"
# バイナリ読み書き両用
File.open( filename, "r+b" ) do |io|
io.write( "abc" )
io.seek( 0, IO::SEEK_END ) # ファイルの末尾から
io.write( "xyz" )
end
# 更新後のファイルを読み込む
File.open( filename, "rb" ) do |io|
puts io.read( nil )
end

33 :
ruby ならきれいに書けるという主張でもないようだけど、誤爆?

34 :
ム板で最も嫌われてる荒らしの一人。
懸命なruby布教のおかげで、rubyを覚えるとキチガイになるという通説を広めることには成功している。

35 :
感染者には触るな

36 :
>>30
>aは出力時はfseekが効かずに常に末尾に追加

これは驚きました!

https://ideone.com/RG43Xw
$ gcc -W -Wall fopen_a_mode.01.c
$ ./a.exe
abcdefgABC
$

https://ideone.com/T8QqyL
$ gcc -W -Wall fopen_a_mode.01.c
$ ./a.exe
ABCdefg
$

新しいことに気が付くようにしていただき、ありがとうございます!

37 :
まんま教えて貰ったのに「気が付くようにしていただき」なんだな

38 :
この方はワザと炎上させる放火魔だからな

39 :
>>38
失礼しちゃいますね!
私が着火したことはほとんどなく、むしろ買ってに周りが発火している、という気がするのですが?
私が着火した、という証拠はありますか?あるというのなら URL で示してください!

40 :
無自覚な分だけ尚更たちが悪い

41 :
ruby布教者じゃなくてただのrubyアンチでしょ
布教なんかしてるように見えるの?

42 :
定期的に書かないと、その名前すらみんな忘れ去るから

43 :
x[i][j]でx={0or1}を取る場合、全通りのx[i][j]を生成する方法はありますか?

44 :
>>43
x[i][j]を使った計算で全通りを比較したいです

45 :
誰か質問の意味分かる人いる?
何がしたいのかさっぱり分からん

46 :
>>45
x[i][j]が変数の関数の最大値を求めたいんですが、全通りの計算をして最大値を求めたいです

47 :
ΣΣx[i][j]を含む関数です

48 :
全部計算して計算結果を比較して最大値を求めれば良いのでは?
質問の意図が見えない…
iとjの2重ループで全部計算させて結果をresult[i][j]に入れる
その後、もっかい2重ループして最大値を探す
そのまんまだけど…

49 :
i,jのサイズが2の時x[i][j]の組み合わせは
?x[0][0]=0、x[0][1]=0、x[1][0]=0、x[1][1]=0
?x[0][0]=0、x[0][1]=0、x[1][0]=0、x[1][1]=1
?x[0][0]=0、x[0][1]=0、x[1][0]=1、x[1][1]=0
?x[0][0]=0、x[0][1]=0、x[1][0]=1、x[1][1]=1
?x[0][0]=0、x[0][1]=1、x[1][0]=0、x[1][1]=0
……って続くと思いますが、この配列の中身の全組み合わせを生成したいです

50 :
あ、うえのΣの奴は間違いです
Σはありません

51 :
>>50
あ、あります、ごめんなさい。。

52 :
>x[i][j]が変数の関数の最大値
これからして、意味が分からない
xの型や関数の仕様について、ヒントもないのか

53 :
びっくりするくらいわからんわw
フーリエ変換だとかアフィン変換だとかそういうなんか最重要な情報出し忘れてない?

54 :
普通に二重forループ使え。問題文がおかしい。問題がその文章のままなら、たぶん学校か会社を間違えてる。

55 :
>>49
?x[0][0]=0、x[0][1]=0、x[1][0]=0、x[1][1]=0
?x[0][0]=0、x[0][1]=0、x[1][0]=0、x[1][1]=1
?x[0][0]=0、x[0][1]=0、x[1][0]=1、x[1][1]=0
?x[0][0]=0、x[0][1]=0、x[1][0]=1、x[1][1]=1
?x[0][0]=0、x[0][1]=1、x[1][0]=0、x[1][1]=0
ここから値だけ取り出すとこうなる
0000
0001
0010
0011
0100
...
あとは簡単でただの二進数だから1重ループでその整数を1bitずつシフトしてマスクして代入すればいい

56 :
添字x2 + 値で合計 3bit の組み合わせか

57 :
何のために二次元にしてるのかイミフ
値も0と1しか入れないなら
もっと簡単な構造にすればいいのに

58 :
>>49
> ……って続くと思いますが、この配列の中身の全組み合わせを生成したいです

生成すればいい
何が問題なのか説明しないで問題丸投げは嫌がられるぞ
便利な標準関数一つで解決するとかを期待してるなら無理だ

59 :
bool x[I_NUM][J_NUM]; とすると、x全体で取りうる値のパターン数は
2 ** (I_NUM*J_NUM) になるから、よほど小さな I_NUM, J_NUM でなきゃ
全通りを一度に生成して一覧表で返す方法は無理だよね。
添字 i, j について回る2重ループと、
特定の i, j における x[i][j] に 0, 1 を格納するループ、
合わせて3重のループで「ある場合のx」を生成して
その x で f(x) を計算して、最大値を更新、
3重ループが終わった時点で全パターンでの最大値が得られる、
て感じにするんじゃないかな。
>>46 の「x[i][j]が変数の関数」ってのが、
関数のパラメータとして2次元配列x[][]を取る、って理解だけど。

60 :
関数の引数として配列を渡す、って理解?
関数側は、「何それ食い物?」って答えそうだな

61 :
組合せ最適化問題でしょ
組合せ変数を0,1で定義してる

62 :
Cの逆アセ対策の難読化って、ヘッダの関数シグネチャも変えた方がいいの?

63 :
バイナリを暗号化して復号ローダーつけるとか
クラックするとき一番困るのがこれ

64 :
>>63
サンクス
復号ローダーは初めて聞いたわw

65 :
関数のシグネチャはスタティックリンクすればバイナリには残らない
ダイナミックリンクにするとエクスポートテーブルに載ったりするけどね

66 :
セキュリティ周りは英語みるしかないね
日本人は忌避感が強すぎる
teratailとかでたまに質問してる人がいるけど
「悪用するひとがいるから回答できない」みたいな発言ばっかり
セキュリティ後進国ニッポン万歳

67 :
飲食店の場所取りに自分のカバンやスマホ置く国日本。
敷地の出入り口封鎖にプラスチックチェーン使う国日本。

68 :
ポインタ変数のバイト数って32ビット環境が4バイトで64ビット環境が8バイトですか?

69 :
>>65
夢で見たの?

70 :
>>68
そういうのが多いが決まっているわけではない
式sizeof(void*)が生じる値は処理系定義なので
コンパイラのマニュアルに記載されることになっている

71 :
>>70
コンパイラによるんですか

72 :
>>71
コンパイラにより、かつ一定の挙動が保証される
それが処理系定義

73 :
>>72
なるほど
ありがとうございましたm(_ _)m

74 :
ただし実際の実装では>>68のようになってることが多い。
まるで大井川です。

75 :
10回に1回くらいsegmentation faultが起こる原因って何だか分かりますか?

76 :
初期化し忘れによる不定

77 :
再帰が深すぎ
境界値でのテストをしていない

78 :
>>76
宣言した、配列や変数に全部初期値を入れた方が良いということでしょうか?

79 :
>>78
配列や変数に値を入れるより先に値を読むような処理があるなら、その値は不定になるよ。
不定じゃ困るなら初期化しなければならないし、処理の流れ上読むより先に必ず値を入れることになるなら必ずしも初期化は要らない。

80 :
無効な値とかを決めて、全部初期値としてセットしておいたほうがバグは見つけやすくなるかと

81 :
全部初期化した方がいいといえばいい、というか…
0とかのデフォ値でいいならそうだよ、というか…

変数に代入し忘れのバグって、変数に代入すべき所でしてないのが原因なワケで
それを直さないとバグったままだよ

82 :
フフフフフフフフフフフフフフフフ

83 :
Cでディクショナリ型のデータ構造が使いたいんだけど何かいい擬似的な仕組みとかないかな

84 :
深く考えずそこいらのハッシュのコードをコピペして終わり

85 :
配列に入れてqsortしてbsearch

86 :
GNU汚染されても構わないなら

87 :
>>86
意味不明

88 :
>>83
tcl/tk
または
memcached/memcache-client

89 :
>>87
ロリコンGNU汚染は深刻

90 :
Cの初心者質問スレはここでいいのかな?

91 :
【問題】最大値と最小値を順番に表示するプログラムを作成したい。以下のプログラムに適切なコードを追加して完成させよ。
【プログラム】
int main(void)
{
double a, b, c, max, min;
scanf("%lf", &a);
scanf("%lf", &b);
scanf("%lf", &c);
/* ここにコードを追加 */
if(max<b) {
max = b;
}
if(max<c) {
max = c;
}
if(min>b) {
min = b;
}
if(min>c) {
min = c;
}
printf("%f\n%f\n", max, min);
return 0;
}

92 :
【僕の解答】
if(max<a) {
max = a;
}
if(min>a) {
min = a;
}
を追加したのですが、上手くいきません。
どこが間違っているのでしょうか??

93 :
初期化されてないmax,minと比較をしたら結果は不確定になってしまうでしょ
この場合比較自体が不要、代入するだけでいい

94 :
宿題か・・・
宿題は宿題用のスレがあるので次回からはそちらへ。

95 :
>>94
そのスレってどこにありますか?

96 :
>>95
C/C++の宿題片付けます 170代目 [無断転載禁止]©2ch.sc
https://mevius.2ch.sc/test/read.cgi/tech/1456911928/
C/C++の宿題片付けます 170代目 [無断転載禁止]©2ch.sc
https://mevius.2ch.sc/test/read.cgi/tech/1456647534/

97 :
170代目宿題スレッドって2つ生きてるんだ。片方しか見てなかったわ。
両方ともさほど繁盛してないみたいだけど。
最大値、最小値を入力されたデータの一つで仮に設定する手法か。
Cに限らない話だね。アルゴリズムって言うほど大袈裟でもないけど。

98 :
>>97
5 年ほど前は大繁盛だったんですけど、最近は授業でも C は取り上げられなくなったんですかね?

99 :
>>98
QZのせいで糞スレ化したからだろう

100 :
退学になったストーカー、今どうしているんだろう


100〜のスレッドの続きを読む
C++相談室 part150
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
次世代言語18 Go Rust Elixir Kotlin TypeScript
関数型プログラミング言語Haskell Part29
【汚物】痛い変数名・関数名【破廉恥】
【魔法】リリカル☆Lisp【言語】
GPGPU#5
☆★Java質問・相談スレッド182★★
Ruby 初心者スレッド Part 57&#169;2ch.net
Java入門・初心者質問スレ Part.9
--------------------
ヴァンプ将軍のさっと一品
【バーチャルYoutuber】にじさんじアンチスレ1796【いちすももる応援スレ】
【芸能】 よゐこ濱口、ナイナイに頭髪治療を暴露され大汗「カメラ数十台の前で…」 2019/08/29
【シャグ】手巻きタバコ総合 1本目【紙】
本渡楓 part70(IP有)
MX・tvk・テレ玉・チバ・群馬・とちぎ実況 ★ 62181
■イラストレーター Illustrator ver.39■
pixivの嫌いな奴を晒すスレ その8
【ドラマ】懐かしのドラマが続々放送の中、地上波では絶対に再放送できない人気作品たち★2 [フォーエバー★]
【速報】肺炎ウイルス、政権中枢で「神カゼ」と呼ばれている模様。「日本には神風がある。この神風で支持率も上がるはず。いわば神風だ」 [166864446]
ジェイムズ・レヴァイン その2
ケツの穴で精液吸うのが美容に一番
演歌界のスター☆山内惠介 16
引き寄せ総合
【基地害】野球用語が気持ち悪すぎる件【低能】
百里基地航空祭被害者の会
年賀はがき どうやって捌けばいいんだよ3通目
ミリオンゴッド〜神々の凱旋〜part176
Android Security CVE-25
宇宙生物学
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼