C言語なら俺に聞け 150

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (アウアウクー MM57-IE4z)
垢版 |
2019/02/06(水) 13:39:03.21ID:c4bnQMl3M

次スレを作る時は上記1行をコピーして2行に増やして必ず1行目に入るようにしてください。

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言語なら俺に聞け 149
https://mevius.5ch.net/test/read.cgi/tech/1540731704/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/03/29(金) 19:52:38.08ID:49nFrL1E0
25行目からが

if(c!=0){
break;
}
else{
continue;
}
while(c==0);

になってるけどwhileの場所が間違ってる。
2019/03/29(金) 19:54:41.57ID:49nFrL1E0
28行目からだわ。つまり}が足りてない。そこだけ直したら上手くいくのかは確認してないけど。
954デフォルトの名無しさん (スフッ Sdbf-g8C6)
垢版 |
2019/03/29(金) 19:55:29.51ID:jbLCE6Gyd
>>952
正しくはどうなりますか?すみませんさっぱりわかりません…
955デフォルトの名無しさん (スフッ Sdbf-g8C6)
垢版 |
2019/03/29(金) 19:56:17.40ID:jbLCE6Gyd
>>952

>>953
今気づきました!!ありがとうございます!やってみます!
2019/03/29(金) 20:15:27.43ID:kPfQN3Sza
kishutu[] 渡してるところ大丈夫か?
957デフォルトの名無しさん (スフッ Sdbf-g8C6)
垢版 |
2019/03/29(金) 21:09:07.83ID:jbLCE6Gyd
https://i.imgur.com/H76l6vb.jpg
https://i.imgur.com/ywiNmxR.jpg
これの原因わかる方いますか?
958デフォルトの名無しさん (スフッ Sdbf-g8C6)
垢版 |
2019/03/29(金) 21:13:20.24ID:jbLCE6Gyd
>>956
ありがとうございます
そこも間違えてたみたいです
2019/03/29(金) 22:03:29.44ID:b4NIHWKk0
>>957
27行目[]いらんと思う
960デフォルトの名無しさん (スフッ Sdbf-g8C6)
垢版 |
2019/03/29(金) 22:53:43.19ID:jbLCE6Gyd
https://i.imgur.com/nY9LuSR.jpg
https://i.imgur.com/U46WJvs.jpg
https://i.imgur.com/wwRNBB2.jpg
試してるのですが最後の1文字が表示されないままずっと実行中になってしまいます。3枚目はhello world入力で何回か実行した時の画面です。上の3回は強制終了して、一番下のはフリーズしてるやつです
どなたかわかる方いましたら教えてもらえないでしょうか
何度もすみません🙏
2019/03/29(金) 23:02:18.73ID:aBFadZYQ0
随所でprintfしまくって、変数の値が想定通りか確認していくんだ
これをprintfデバッグという

ってか、まともなデバッガがある環境でやった方がいいよ
2019/03/29(金) 23:10:52.10ID:kPfQN3Sza
>>960
配列の添字も一緒にprintfしてみれば。
あと変数名は意味のあるもんにした方がええよ。 a とか b はあかんわ。
あと配列は初期化した方がいいかもよ。自分で中身を把握してれば別にしなくていいんだけど。
2019/03/29(金) 23:25:13.83ID:49nFrL1E0
>>960
check(int a, int b, int c[]);
がだめ。

aが既出の時は0を返して、既出じゃないときはaを返す関数になってるけど、
aに0を渡すと既出じゃなくても0が返るから既出扱いになる。
2019/03/29(金) 23:26:13.92ID:49nFrL1E0
既出の時は-1を返すようにすればなおせる。
2019/03/29(金) 23:36:01.88ID:49nFrL1E0
あと"hello world" に対してsent[10]は長さが足りてない。
966デフォルトの名無しさん (スフッ Sdbf-g8C6)
垢版 |
2019/03/30(土) 06:48:18.36ID:+pUtVW5zd
>>961
>>965
無事解決しました
大変ありがとうございました(^ω^)
2019/03/30(土) 11:40:45.41ID:NEaY98E/0
スマホ世代は画像と文字の区別が付かないらしい
これホントだよ
2019/03/30(土) 12:43:03.20ID:IAXXlS6v0
区別を付けられる世代には是非、画像認証で出される文字を認識するプログラムを書いてもらいたい
2019/03/30(土) 12:53:42.39ID:XVCnFM45d
>>967
これからは書き込む時にヘッダーにContent-Typeつけないとダメだな
970デフォルトの名無しさん (ワッチョイ ef02-9gjM)
垢版 |
2019/03/31(日) 18:22:14.86ID:x4Dlbn8C0
>>968
OCRでできるかもね。
2019/04/01(月) 12:25:47.95ID:MG1i8foP0
新元号がC言語に聞こえた、末期だ
2019/04/01(月) 12:28:19.16ID:mARdLrg20
0O
2019/04/01(月) 12:37:22.21ID:kX8UNAymx
>>972
れいわ
か、分かりにくい
2019/04/01(月) 13:26:16.54ID:Fc0B8SHO0
(0_○)
2019/04/01(月) 18:18:06.49ID:6TSsT2Q/0
0+
2019/04/01(月) 20:16:15.42ID:Ut3weUXPM
C言語でOOか
977デフォルトの名無しさん (アウアウエー Sa3f-XwTE)
垢版 |
2019/04/01(月) 21:33:02.04ID:v6mAk26Pa
「要素型がint型で要素数がnの配列を受け取って、
全要素に添字と同じ値を代入する関数set_idx」を作成しました。
http://codepad.org/krsZoljq

配列aの要素数はマクロ定義で#define NUMBER 10とし、
問題なく動作しました。
ところが、この要素数10を60に書き換えてみたところ、
コンパイルされたexeファイルを実行しても動作しません。
コンパイラはMinGW(gcc)です。
思い当たる原因を教えていただけないでしょうか。
2019/04/01(月) 21:34:29.79ID:OIWsA4Npd
>>977
配列変数aのサイズを宣言せよ。
2019/04/01(月) 21:45:33.75ID:Mx+j7LaB0
int a[NUMBER];
と書いても駄目かね
980977 (アウアウエー Sa3f-XwTE)
垢版 |
2019/04/01(月) 22:08:10.15ID:v6mAk26Pa
>>978
>>979さんの仰る通りint a[NUMBER]={0};と書いたら意図通りに動作しました。
a[]と宣言するのでは、配列に割り当てる適正なメモリサイズが確保できないということでしょうか、、、
2019/04/01(月) 22:14:50.09ID:Mx+j7LaB0
>>980
どういう教科書を使っていて、どういう風に学習してるのか知らんが…
先生に確認した方が早いんでねえか
2019/04/01(月) 22:15:35.84ID:+c9Nhd8T0
>>980
初期化に使った右辺に合わせて自動的にサイズを決定してくれるので、

int a[] = {0};

だと大きさは 1 と指定したのと同じ。
2019/04/01(月) 22:29:36.01ID:v6mAk26Pa
>>981
社会人で完全に独学なので、質問するとしたらこういう場しかなくて…
初歩的な質問でスレ汚し申し訳ないです。
ちなみに教科書は柴田望洋『新・明解C言語(入門編)』を使っています

>>982
なるほど!
とてもわかりやすいです
2019/04/01(月) 22:51:19.76ID:Mx+j7LaB0
私も「ド素人&独学でしかやってない&プライベートでしか使ってない」ってかんじですが
set_idx関数がバッファオーバーラン対策を全くやってないのが気になるかも

int *set_idx(int n) とかいう風な、ポインタを返す関数に書き換え、関数内でmallocというのが考えられるけど
正確にセキュアな方法はワカラン


https://www.ipa.go.jp/security/awareness/vendor/programmingv1/b06_02.html が参考になるかも知れないし
「まだ早い」ということになるかも知れないし、何とも言えない
2019/04/01(月) 22:53:26.21ID:evzlx3m20
可能ならC言語は諦めるのがおすすめかな…
2019/04/02(火) 07:43:14.10ID:VBVVrqHU0
消すなよ!
987デフォルトの名無しさん (アウアウウー Sa0f-dxKi)
垢版 |
2019/04/02(火) 09:36:27.96ID:exqjvsIla
>>977
そのURLのページ昨日から開けなくてなんだかわからない。
2019/04/02(火) 11:14:48.18ID:SQXqRaAc0
https://imgur.com/a/kHEtyz9
こんなかんじだったよーな
2019/04/02(火) 11:18:36.80ID:SQXqRaAc0
>>985
そうっすね

「c言語 おすすめしない理由」でググると
https://www.sejuku.net/blog/3619
https://takachan.hatenablog.com/entry/2018/06/21/233111
https://kiseki-shoji.com/recommended-programming-language/

とか


ところで、このスレって次スレ立てるタイミングは
どんな慣習なんでしょうか
減速しないと確実にヤバイ域かも
2019/04/02(火) 11:28:36.32ID:SQXqRaAc0
C言語なら俺に聞け 151
https://mevius.5ch.net/test/read.cgi/tech/1554171817/

立てられました
冒頭ヘンなのは御容赦を _o_
2019/04/02(火) 12:17:13.81ID:eD+DhRS60
>>990


スレ立てのタイミングとか特になかったような
たまに落ちてて誰かが復活させたりとか…
992デフォルトの名無しさん (アウアウウー Sa0f-dxKi)
垢版 |
2019/04/02(火) 12:23:08.20ID:exqjvsIla
おつ
2019/04/02(火) 12:54:10.21ID:SQXqRaAc0
>>989 の補足というかスレチというか…

Windows 環境なら hta を javascript で書くというのも良いかもですね
コピペプログラミングベースで良いなら、ウィンドウを表示するプログラムを作ってチョコチョコとカスタマイズする位なら30分掛からない
「javascript 全く知らん&Excel VBAやマクロは少し分かる」なら hta を vbscript で書くのも良いかも


…このスレの人達からしたら忌み嫌われかねない環境かも…?
2019/04/02(火) 13:03:14.49ID:utcNUqsJd
>>990
オツ
2019/04/02(火) 13:07:35.24ID:vU9CoLi+0
>>993
Windows だけでよければ electron みたいな重量級のフレームワークをあらためて導入する必要もなく
ウェブ系の GUI デザインの延長で使える HTA は楽だとは思う。

「忌み嫌う」というよりは C とはまるで使いどころが違うので、
C を必要だと判断して始めた (その判断が正しいかどうかは別として) 人に対して状況を確認することなく
何か他の言語や環境を勧めるのは意味わからんという感じだと思う。
2019/04/03(水) 18:22:44.27ID:mkaKENfB0
省略形にかぎらず関数使用でも理解不十分なまま作成する記述スタイルを変えれればこの先生きのこれるかもしれうめ
2019/04/03(水) 19:45:53.19ID:sLl0OhfW0
先生、きのこれますか?
998デフォルトの名無しさん (アウアウウー Sa0f-dxKi)
垢版 |
2019/04/03(水) 20:52:13.33ID:GUjlsyjta
    _,,...,_
  /_~,,..::: ~"'ヽ
 (,,"ヾ  ii /^',)
    :i    i"
    | (,,゚Д゚) ・・・
    |(ノ  |)   
    |    |
    ヽ _ノ
     U"U
2019/04/03(水) 20:59:17.64ID:qKRJca2S0
生きのこ れる
2019/04/04(木) 00:26:22.08ID:dLJNY45/0
(´・_・`)
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 56日 10時間 47分 19秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。