[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/25 02:13 / Filesize : 275 KB / Number-of Response : 1034
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け 151



1 名前:デフォルトの名無しさん [2019/04/02(火) 11:23:37.62 ID:SQXqRaAc0.net]
!extend:checked:vvvvv:1000:512
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
codepad.org/

C11
www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

159 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 06:35:48.92 ID:gmBt4t3M0.net]
文字列(Cでは'\0'終端のchar配列)を格納できる変数 char s[SIZE]; に対して、

文字列を格納したい場合は
scanf("%s", s); // 連続したメモリ領域 s[0], s[1], s[2] ... に格納
配列名 s は &s[0](配列の先頭要素へのポインタ)と、値と型が等しい

1文字だけ格納したい場合は
scanf("%c%c", &[0], &s[1]); // s[0] と s[1] に1字ずつ格納
&s[0] は s と同じだが、 &s[1] との対応から &s[0] と書く方が分かりやすい

「配列名が暗黙に先頭要素へのポインタに変換される」話と、
「何を操作しているかをソースの書き方で明瞭に表現しようぜ」って話と、
整頓されずに混乱してるんじゃないかな。
「Cでは“文字列”とは何か」も絡んでるかも。


それに加えて、2次元配列という、これまたCではやや微妙な問題が噛んでるし。
char array[ROW][COLUMN]; // charの2次元配列
char *array[LINE]; // charへのポインタの1次元配列
>>149 の質問では二次元配列と明記されてるから本質じゃないけど、
説明を厳密にしようとすると、触れないのは片手落ちになっちゃうよね。
& 演算子でアドレスを得るときの内部的な処理の周辺。

160 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 06:48:49.78 ID:o0KoJkQh0.net]
&[0]なんて構文ねえよ
よりにもよって、そんなとこtypoしちまったら致命傷だろうが

161 名前:154 mailto:sage [2019/04/18(木) 07:30:33.11 ID:gmBt4t3M0.net]
ありゃ本当だ。&[0] は誤りだね。ご指摘ありがとう。

誤: scanf("%c%c", &[0], &s[1]); // s[0] と s[1] に1字ずつ格納
正: scanf("%c%c", &s[0], &s[1]); // s[0] と s[1] に1字ずつ格納

162 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 12:12:59.76 ID:Nwj37sNi0.net]
C言語ってarray[3]だけじゃなくて3[array]もできるんだね
[]が演算子って今更知った

163 名前:はちみつ餃子 mailto:sage [2019/04/19(金) 12:21:05.01 ID:mypEidUJ0.net]
>>157
array[3] は *(array+3) と等しい、構文糖であるということになっているので結果的にそうなった。

164 名前:デフォルトの名無しさん [2019/04/19(金) 12:39:59.72 ID:U46FCs4Qa.net]
かといってそんな書き方してるプログラムはサンプルプログラム以外では見たことがない。

165 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 12:58:54.90 ID:8C7kRl9M0.net]
これとか
https://www.ioccc.org/2018/burton1/prog.c

166 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 15:31:03.70 ID:y1N4KfNld.net]
>>157
コレ好き。たまーに混ぜ込んでおいてレビュー担当迷わせるの楽しい。

167 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 16:22:40.20 ID:t0MiT6LCM.net]
>>161
作法違反で低評価になるだけじゃねw



168 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 16:50:40.06 ID:8C7kRl9M0.net]
スキルの使い途を間違えているな
弱い者いじめではなく生産に使え

チーム得点につながらない無駄なことをするやつを
上司は冷ややかに見ているぞ

169 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:06:38.82 ID:GSI3q7h60.net]
初めて5[a]がOKなんだと知ったときの感動を思い出せ。そんな感動と興奮を仕事に散りばめてくれるエンターテイナーだよ。

170 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:07:35.94 ID:GSI3q7h60.net]
buf[5[buf]]

171 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 19:15:23.29 ID:g/tNuT86M.net]
Cに配列なんて概念なくて、
配列宣言っぽく見えるのはポインタ宣言とallocaの構文糖だという
言語だったらよかったのに。

172 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:01:37.69 ID:8C7kRl9M0.net]
いや、それは困る
ポインタが指す先の実体は
いつかどこかで配列になれなきゃ話が発散してしまう

173 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:17:39.05 ID:jGjLpvILa.net]
だから、これは配列ではないという結論になる

174 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 23:18:20.25 ID:UowN6RnT0.net]
"0123456789abcdef"[n % 10]

175 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 23:34:23.62 ID:8C7kRl9M0.net]
アホ
n % 16だろうが

176 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:07:20.17 ID:WPUlIDDo0.net]
>>169
つよい

177 名前:デフォルトの名無しさん [2019/04/20(土) 01:30:17.77 ID:2mEBnGIe0.net]
早く配列になりたい



178 名前:デフォルトの名無しさん [2019/04/20(土) 12:04:07.28 ID:adBHY6Cw0.net]
忙しかったものですから、ウルトラ亀レスで申し訳ありません。

もちろんK&Rは良い本だとは思いますが、
よくないところがあると書きましたら、「それどこですか?」
のような質問がきていたのですが、仕事に忙殺されてレスが遅くなりました。

例えば、K&Rのハッシュ探索のプログラム。
ソースを見ればバグがあるとすぐわかるはずです。
K&Rのソースは単なるサンプルです。
仕事で実際に使えるわけではありませんし、

吐き出すハッシュ値をチェックしてみてください。
そのソースをF社の東大卒のプログラマがパッケージに組み込んでしまい、
大きなバグを引き起こしました。
で、俺が呼ばれてソースを見た瞬間に原因がわかって直しました。
K&Rを読んだときに気が付いていたからです。

K&Rを読んだときに、気が付く人はすぐ気が付いていると思います。
自分で考える人です。
本当のプログラマです。

179 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 13:35:25.67 ID:UeTDxeBdd.net]
>>173
自分で考えるのが良いってのは、プログラマに限らずなんでもそうだよね。
その上で本当のプログラマとやらにもとめられるのは、考えて理解することよりバグを出さないテストを行う能力だと思うね。
考えてもミスる時はミスるし。
場数を踏んだプログラマは、もちろんちゃんと考えるけど、その上で自分の理解やコードを信じない。
ちょっと話が違うかな。

180 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 18:04:05.64 ID:YpwC1XIf0.net]
>>173
それはK&Rのよくないところか?

K&RはCとはどんな趣旨のものかを紹介する本で
アルゴリズムを正確に教える本ではない

単にCの機能を説明するために例を挙げただけのナンチャッテコードを
いきなり本番環境に持っていった東大卒とかぬかすやる気のねえクズと
大きな事故に至るまで欠陥を検出できない会社の検証ルールの問題だろうが

181 名前:デフォルトの名無しさん [2019/04/20(土) 18:21:44.59 ID:rZAw ]
[ここ壊れてます]

182 名前:W+3j0.net mailto: 在るプログラムを作るのは間違い。買うのが正しい。 []
[ここ壊れてます]

183 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 00:16:47.67 ID:NOPBo00z0.net]
買ったもの、存在するものが四角い車輪だけだったとしてもか?

184 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 00:25:39.70 ID:sE/qbOcV0.net]
買ったもの、つまり売っているものは、自作したものよりも性能がいい

185 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 05:49:28.91 ID:HT/hFmaDa.net]
Cできる人は(ここの住人のような)C++も当たり前にできるん?

186 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 06:09:41.42 ID:znB8VhQa0.net]
>>179
会社に今までC一筋20年くらいの人がC ++のプロジェクトに来たんだが使えなさすぎてクソワロタ

187 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 06:45:11.14 ID:XP3sT+Yd0.net]
>>178
何も言うまい
破門だ
それだけだ



188 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 08:31:58.96 ID:nzBarAq00.net]
もしかしてCのライブラリのソースコード全部読んでんの
アホじゃね

189 名前:デフォルトの名無しさん [2019/04/21(日) 10:26:51.61 ID:gW8lsVjX0.net]
>>175
173です。
おっしゃるとおりです。
俺の言いたかったのは、まあそういう感じです。
K&Rの信奉者があまりに多いので
どゆふうに指摘していいのか困惑している次第です。

つまり、言語の紹介本としては良い本だと思いますけど、
それ以上ではない。
現在、英語版のK&Rしか私の本棚に見つからないけど、
PREFACEの15行目からは、
This book is meant to help the reader learn how to program in C.
と始まっています。
この部分、日本語版にはどのように翻訳されていたか失念しましたが、
まさに、そのとおりなのです。

しかし、ハッシュ値のところですけど、
あと数文字をコーディングするだけでまともなコードになるのに、
なぜしなかったのか?という疑問はあります。

190 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 10:42:02.64 ID:ZEQClH310.net]
プログラマなんて正常な判断ができないような過酷な状況に追いやられることなんてよくあるし、想像の余地はいろいろあるな。

191 名前:デフォルトの名無しさん [2019/04/21(日) 10:51:08.83 ID:MDootfcvM.net]
>>179
Cを数年やってからC++を
やりましたけど
最初は全くわかりませんでしたよ。
C++に慣れるまで1年ぐらいかかったかな?
全く別の言語と思ったほうが
よろしいかと思います。

192 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 11:08:55.42 ID:gKcyDuy9a.net]
Cでインターフェース・抽象性を意識したプログラムを書いてたらそんなに変わらんと思う。
ただ現実としては委譲を使ってたところから無理して継承に適応するために混乱することはある。現場で待っているのは神クラス。

193 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 12:18:59.87 ID:+Seww2xKM.net]
まるで別物と思うわ。
ただ仕事で使う分にはみなjavaと同程度の構文しか使ってないから、違いはさほどないと感じるかも

194 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 13:49:17.56 ID:ZEQClH310.net]
仕事以外でC++使うなんてドMでしょw

195 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 13:55:23.49 ID:7uFZhwV3M.net]
C言語で開発しているのも大概だけどなw

196 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 14:18:53.79 ID:P3URCDUY0.net]
仕事以外でプログラミングすること自体がドMの極みw

197 名前:デフォルトの名無しさん [2019/04/21(日) 14:48:54.11 ID:YKRN8m01M.net]
34年間、ほぼ毎日プログラミングしてますよ!
定年になってもずっとやってると思います。
作りたいものが一杯有りすぎて体が2つ3つ欲しいです。
今、最も力を入れているのが人工知能です。
人類を滅ぼす悪魔のソフトを造るのが人生最大の目標です!



198 名前: mailto:sage [2019/04/21(日) 15:58:12.64 ID:MozNv5pX0.net]
>>191
>人類を滅ぼす悪魔のソフト
これには

199 名前:ニても興味がありますね

「人類を滅ぼす悪のソフトウェア」
うーん、ぱっと思いつくところではテトリスとか…
[]
[ここ壊れてます]

200 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:58:31.04 ID:XP3sT+Yd0.net]
>>183
全然わかってねえじゃん
あと数文字をコーディングすることが
Cの機能を説明するサンプルとしては邪魔だったら
その数文字をコーディングしねえのは当たり前だ

サンプルってのはS/N比が大事なんだよ
そこで伝えようとしていること以外のノイズは
徹底排除する必要があるんだ

201 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 17:59:26.99 ID:XP3sT+Yd0.net]
>>191
おまえ自分が作ったプログラムの敵が未来からタイムマシンで暗殺に来るぞ

202 名前:デフォルトの名無しさん [2019/04/21(日) 19:19:27.57 ID:AjzRUWat0.net]
脳波を検出して見たいVRを出してやるわ ==> 人類滅亡

203 名前:デフォルトの名無しさん [2019/04/21(日) 20:04:10.03 ID:gW8lsVjX0.net]
>>193
初心者向きの本ですから真似する馬鹿もいるということを
想像すべきでしょうね。
おまえこそ馬鹿だな
想像力がゼロだ
笑えるぞ?
知ったかのクズだ

204 名前:デフォルトの名無しさん [2019/04/21(日) 20:08:24.68 ID:YKRN8m01M.net]
今どきCとか
K&Rとかで
能書きこいて
馬鹿ジジイにも
ほどがあるwww

205 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:10:12.48 ID:XP3sT+Yd0.net]
>>196
「初心者」という隠れ蓑に逃げる馬鹿って、自己紹介か?

206 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 20:48:49.16 ID:ZEQClH310.net]
>>197
イラッとするのはわからんでもないが、ここはC言語スレだからそんなこというのは荒らしだぞ

207 名前:デフォルトの名無しさん mailto:sage [2019/04/21(日) 23:45:38.39 ID:2X82VWTJ0.net]
>>196
あの時代の初心者は今時の初心者と違って、大半はちゃんと自分で考えて自力で技術を習得していく姿勢があり、ただ教えてもらった通りにするだけのようなのは自然と落伍していったと思うよ。当時の想定する読者層にあった適切な内容だったろうと思う。



208 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 00:28:58.76 ID:1mQu6LUBa.net]
単に裾野が広がってるだけで

209 名前:デフォルトの名無しさん [2019/04/22(月) 01:07:58.48 ID:HMkHCtfr0.net]
>>196
人の意見を聞く気がないなら
チラシの裏にでも書いてなよ

175にもあるけど
初心者の真似するバカのコードが
そのままリリースされる態勢を反省した方が前向き

あと何であの本に信奉者がいるのか
理解できない自分も

210 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 02:24:36.97 ID:RPRc4IKz0.net]
>>200
当時のccが寡黙だったのが却ってよかったよな
なんで動かないのか自分の頭で考えるしかなかった
今どきのコンパイラは過保護で
落伍すべき者を引っ込み付かないところまで引きずっちまう

211 名前:デフォルトの名無しさん [2019/04/22(月) 08:39:06.04 ID:29O1k2F2M.net]
>>202
お前のような馬鹿な奴は
そのうち自滅するよ(笑)

お前は「おれ天才!」とか
思ってる低知能のクズだ
もっともたちが悪いクズ

212 名前:デフォルトの名無しさん [2019/04/22(月) 10:09:04.63 ID:y6AB5FtQa.net]
>>179
いや、俺は使えない。

C++は30年ぐらい前にやろうとはしたが当時のPCでもワークステーションでも流行っておらず当然そのような仕事もなく、自分は主にUNIX関係の仕事だったので使う機会がほとんどなかった。

その後PCの方ではWindowsが流行ったが仕事はそのままなので変わらず、趣味ではWindowsでDelphi使ったりもしたがC++はほとんど手を着けず大雑把にしかわからないまま。

仕事はやがてLinux関係に移行するがそこでもC++が必要とされる事はなく現在に至る。趣味でJavaを覚えたりもしたが自分の仕事ではほとんど必要とされなかった。
今は趣味で Kotlin を覚えているところだが、C++については複雑化

213 名前:オ過ぎたようなので今さらやる気は起きない。多分今後もやらないと思う。
Windowsプログラムを作る必要が出てきたとしても今ならC++なしで出来そうだし必要になるとしても局所的だろう。
[]
[ここ壊れてます]

214 名前:193 mailto:sage [2019/04/22(月) 10:13:09.11 ID:RPRc4IKz0.net]
>>204
196の時点ではまだ僅かに技術的な話題に振れていたが
今度は100%罵倒のみ
とうとう落ちるところまで落ちたな

215 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 12:15:04.42 ID:IrgyqU7Vx.net]
>>179
MFCが流行ってたりC++Builderが流行ってた時にはそれなりに使う人口がいたと思うけど、過去メンテ以外で現在積極的に使ってる人は少ないかもね。

216 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 01:03:01.93 ID:dZlKsmD/r.net]
>>157
え?こんな書き方出来たの!?
初めて見た
[]が演算子??
そんなの今まで読んだ本にのってなかったよ!

217 名前: mailto:sage [2019/04/23(火) 06:21:01.09 ID:JSYnwir10.net]
>>208
ioccc



218 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 07:52:30.55 ID:ITUqyUOr0.net]
https://www.ioccc.org/

219 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 09:50:22.14 ID:tEWsQxq+M.net]
[]が演算子って常識じゃないのか?
どの優先順位表にも載ってるだろ?

220 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 09:56:40.16 ID:EYeaOvlg0.net]
もちろんこういう書き方も出来るのが[]演算子と文字列リテラルの合わせ技

int wday = 2;
printf("%c", "SMTWTFS"[wday]);

221 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 11:04:29.35 ID:lZSXa7efa.net]
標準入力で最初に数字を入力して、その値だけ文字列を入力するのはどんな感じで書けばいいですか

3
asdf
qwert
sdfghg

こんな感じで最初の入力の値に合わせて配列を用意する?感じになるとおもうんですが
なにもひらめきまへん

222 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 11:22:00.88 ID:ITUqyUOr0.net]
>>211
配列の宣言に使う[]は演算子ではない
直接宣言子の一部だ

意図的に演算子に似せてあるので
勘違いするのは無理ないが
演算子は式に作用するもので
宣言子に含まれる[]はこの定義に該当しない

223 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 11:44:40.51 ID:5E3fgZzA0.net]
>>212
土日・・・

224 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 11:54:58.53 ID:mPLR84qwa.net]
>>214
またおまえか

225 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 12:32:49.10 ID:ITUqyUOr0.net]
>>216
何か用か?

226 名前:デフォルトの名無しさん [2019/04/23(火) 15:59:59.72 ID:gv0SOq8da.net]
>>213
文字を入力するだけで変数に入れる必要がないなら getchar() で '\n' 三回読んだら終わり。
変数に入れる必要があるなら最初の値の分だけ char * を保持する配列を char ** に malloc() や calloc() 使って確保して、更に全要素を malloc() や calloc() 使って確保して、それに対して fgets() を繰り返す。

227 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 16:43:21.53 ID:56NoAZCP0.net]
>>215
土曜は日曜であり、全は一である。



228 名前:デフォルトの名無しさん [2019/04/23(火) 17:41:00.23 ID:gv0SOq8da.net]
月月火水木金金

229 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:20:58.69 ID:i9di+stUM.net]
おじいちゃん戦争はもう終わってるよ

230 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:24:41.37 ID:aEjNiIWC0.net]
令和も戦争のない年号になると良いが、ちょっと雲行きが怪しいな。

231 名前:デフォルトの名無しさん [2019/04/23(火) 20:44:52.15 ID:k/LWg8++0.net]
>>222
日本は戦争しないでしょ?
そして巻き込まれもしないと思う。

だって日本には軍隊がないんだもの。
自衛隊なんて銃もろくに撃てないへなちょこばかりだから。

232 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 20:56:24.90 ID:XDXL3q34a.net]
コンピュータ好きなオタクって勇ましいやつおおいよね

233 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:21:40.55 ID:Dz3CEytOM.net]
語尾によねをつけて同調

234 名前:を求めたがるのは左巻きの典型だよね []
[ここ壊れてます]

235 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 21:58:52.95 ID:ITUqyUOr0.net]
俺は右巻きだが「よね」はよく使う
レッテル貼りは瞬時に反証される論議の中では自爆行為だ
しょーもね

236 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 22:34:42.99 ID:bUhZMb1va.net]
やっぱり自信がないからコンピュータ好きになるのかな?

237 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 23:06:00.81 ID:ITUqyUOr0.net]
断言できないおまえが自信ないだけだ(pgr



238 名前:デフォルトの名無しさん [2019/04/24(水) 03:42:44.00 ID:SZsIFAZx0.net]
よね

239 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:04:11.05 ID:P2wnwvJc0.net]
ICEデバッグしてるとき、とある変数の値をいくつか足し算して、別の変数に代入する関数で、
変数の内容同じなのに、結果が違う。。
最適化OFFにしてビルドしてる。

240 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:05:24.40 ID:P2wnwvJc0.net]
その関数は、別の場所から2度呼んでて、1回目と2回目で結果が違う
計算に使う値は全く同じなのに

241 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 08:51:50.10 ID:zvRm4GUYM.net]
>>230
自分の経験則で言えば、大抵は関数の処理途中で割り込み処理が発生してメモリかレジスタバンクを書き換えていると思う

242 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 10:14:34.45 ID:V3yGzJXe0.net]
一回目から二回目の間で変数のどれかが書き変わってるに決まってんじゃん

243 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 10:55:30.16 ID:HTDgYDWT0.net]
>>230
加算に使っているレジスタを割り込みで使いっぱしてね?

244 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 10:58:08.05 ID:HTDgYDWT0.net]
>>230
_Atomic使ってるか?

245 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 11:21:13.53 ID:IysC1nu6x.net]
>>230
ほぼ100%スタックのゴミ拾ってる。

246 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 12:37:12.74 ID:AiHhhuXgM.net]
まれにポインタ周りバグっててメモリー書き換えてるとか
てかICE使ってるならそこで止めて変数の中身確認しろよ

247 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 13:14:34.92 ID:V3yGzJXe0.net]
ICE製造の過程でICEそのもののデバッグでもしてんじゃね



248 名前:デフォルトの名無しさん [2019/04/24(水) 18:27:12.37 ID:SZsIFAZx0.net]
まずはアイスクリームでも食べて休むといい
よね

249 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 18:45:45.47 ID:JD7HGNH40.net]
ここ20年ほどフルICE使ってないなぁ。
未だにあるんだろうか?

250 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 20:00:32.37 ID:P2wnwvJc0.net]
230だけど、俺の見当違いでした。
インプットの変数の値が違っていたので、当然足し算の結果も違っていたというオチ。
ICEデバッグだと変数を表示するとメモリの中じゃなくて表示した時点で割り当てられたレジスタの値を表示するので、
変数としては変わってないはずなのに他で書き換えられるので逐一変わって混乱していた。

ICE初心者でしたw

251 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:16:06.15 ID:03JhFb4B0.net]
デバッグ中に最適化を抑制するのは間違いではないと思います。
慣れてくると最適化したままでもある程度推測できるようになりますので、
リリースオプションでICEを使用することの方が多くなるかもしれません。

252 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:18:24.10 ID:lwqMqFKi0.net]
CPUぶっこぬいて差し替えてやるやつ?

253 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 22:41:36.06 ID:W4WRMDmVM.net]
ぶっこ抜くと言うよりターゲットボードのCPUの代わりに専用のソケットを実装して専用プローブで接続する
PCなどと違って組み込みのSoCにソケットなど無いのでぶっこ抜いて差し替えるなど無理

254 名前:デフォルトの名無しさん mailto:sage [2019/04/24(水) 23:07:42.00 ID:gVrMWpFh0.net]
>>243
20年前のICEならそうなんだろう
>>244
JTAGの話か?
ソケット云々の前にGHzオーダーのCPUだと信号引き出すなんてとても無理

255 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 00:33:17.24 ID:1oTSGFU/a.net]
scanf("%d%d%d", &a, &b, &c);
こうまとめて入力するのをfgets使うとどうやるの

256 名前:

fgets(s, sizeof(s), stdin);
sscanf(s, "%d", &a);

このセットをループで三つまわすしかない?
一行でやる方法あるんかな
[]
[ここ壊れてます]

257 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 00:56:36.76 ID:WntZOZIYa.net]
いや、1行中に入ってるなら同じじゃないか?
行の区切りとか要素の区切りとか細かい話はあるけども



258 名前:デフォルトの名無しさん mailto:sage [2019/04/25(木) 03:18:03.15 ID:rmDyF6iV0.net]
またfgets教か
マジいやらしさがカルト教団さながらだ

259 名前:デフォルトの名無しさん [2019/04/25(木) 04:21:17.20 ID:D6NtakiX0.net]
>>246
なんというか、ほとんど答えが上に書いてあるかのような質問だな・・・

sscanf(s, "%d%d%d", &a, &b, &c);






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<275KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef