板検索:
C言語なら俺に聞け 138 (1000)
まとめビュー
最新スレッド候補が見つかりました
C言語なら俺に聞け 140 (272) スレ作成日時:2017/05/11 22:20:03
過去ログ C言語なら俺に聞け 140 (272) 2017/05/11 22:20〜
過去ログ C言語なら俺に聞け 139 (1003) 2017/02/22 18:55〜
表示中 C言語なら俺に聞け 138 (1000)
1
デフォルトの名無しさん(ワッチョイ 8b7b-7i2P)[]   投稿日:2016/12/10 21:13:56  ID:Y8xCOPeF0.n
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言語なら俺に聞け 137
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured


2
デフォルトの名無しさん (ワッチョイ 537b-ifuQ)[sage]   投稿日:2016/12/11 00:16:28  ID:1/Psj4wD0.n
  ∧_∧_∧:::::::
 (   ,,゚)゚* )::::::::  HoChu
〜(___)_)〜::::::

3
デフォルトの名無しさん (ワッチョイ 8b4e-Ts63)[sage]   投稿日:2016/12/11 00:27:22  ID:Fe+GkT0n0.n
ほっしゅっしゅ

4
デフォルトの名無しさん (ワッチョイ a74f-drn7)[sage]   投稿日:2016/12/12 16:37:34  ID:WPCsPjPg0.n
前スレ終了からの即死回避

5
デフォルトの名無しさん (アウアウイー Sa37-Cn1F)[sage]   投稿日:2016/12/12 20:38:07  ID:D4fd559ba.n(2)
C初心者です
入力した数値を画面に表示させたいのですが、少し質問させてください

‘力の際に、例えば「参加人数:4人」のように「参加人数:○人」だけ先に
表示させ、数値を入力すると○が埋まるようにしたいのですが可能でしょうか?

入力する数字を一桁に限定し、例えば「23」と打ったらまず2が表示され、
3を打った時点で3に上書きされるようにしたいのですが可能でしょうか?

以上です
暇なときにでもご回答いただければ幸いです
コメント2件

6
デフォルトの名無しさん (ワッチョイ a7e3-VjgG)[]   投稿日:2016/12/12 20:57:09  ID://vq14Rq0.n
>5
両方とも不可
cursesのようなライブラリ使えば可
コメント1件

7
デフォルトの名無しさん (アウアウイー Sa37-Cn1F)[sage]   投稿日:2016/12/12 21:06:02  ID:D4fd559ba.n(2)
>6
ありがとうございます
助かりました
いつか挑戦してみようと思います

8
デフォルトの名無しさん (ワッチョイ 6f5b-3ple)[]   投稿日:2016/12/12 22:19:08  ID:tKvygcuz0.n
いったん背景色で塗りりつぶして、
TextOutで上書きすれば良いだけじゃないの?

9
デフォルトの名無しさん (ワッチョイ ef17-WrC4)[sage]   投稿日:2016/12/12 22:43:54  ID:XxcsTlOG0.n
まだCUIが一般的だったほど昔にそういうの作ったことあるけど
カーソル制御や上書き削除やらで面倒だったな

10
デフォルトの名無しさん (ワントンキン MMef-/x+d)[]   投稿日:2016/12/12 23:29:21  ID:hz71Kf5GM.n
>5
一行だけでいいなら、printf ¥r で出来るよ
まぁでもおすすめはcursesかなわりと簡単で便利


11
デフォルトの名無しさん (ワッチョイ 277b-j1Yw)[sage]   投稿日:2016/12/13 05:32:03  ID:T6NEUE2P0.n
cursesだってCで書いてあるわけだから、複数行だろうがなんだろうが自分でできないわけではないね
curses使えば楽なのは疑う余地もないけど

12
デフォルトの名無しさん (トンモー MM07-38k1)[]   投稿日:2016/12/13 08:46:00  ID:CeDguAajM.n
ああ、そういえば、そういうのあったね。
ぐらいしか覚えてない。

仕事し過ぎて倒れて入院したとき
記憶が一部なくなったみたいなんだ。

仕事し過ぎに注意してね!

13
デフォルトの名無しさん (ガラプー KK77-sx4I)[]   投稿日:2016/12/13 19:23:39  ID:vty9E/+AK.n(3)
質問なんですけど、
文字列のポインタをリターンしたいんですが、どうすればいいのか教えて下さい

char* hage="abc";
return hage;

14
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]   投稿日:2016/12/13 19:49:47  ID:AlD2ABgfK.n(6)
constを付ける

const char *hage="abc";
return hage;
コメント1件

15
デフォルトの名無しさん (アウアウイー Sa37-Cn1F)[sage]   投稿日:2016/12/13 19:57:22  ID:urfJjx8Pa.n(2)
やりたいことがよくわからんが、こういうこと?
#include <stdio.h>

char* sub(void){

char *hoge = "abc" ;
return hoge ;
}

int main(void){

char *piyo ;
piyo = sub() ;
puts(piyo) ;

return 0 ;
}

16
デフォルトの名無しさん (ガラプー KK77-sx4I)[]   投稿日:2016/12/13 20:04:03  ID:vty9E/+AK.n(3)
そうです

constつけたらエラーになりました

17
デフォルトの名無しさん (ブーイモ MM07-JZIj)[sage]   投稿日:2016/12/13 20:06:58  ID:Jg0pzD7jM.n
const char* func()ってすれば?

18
デフォルトの名無しさん (アウアウイー Sa37-Cn1F)[sage]   投稿日:2016/12/13 20:12:55  ID:urfJjx8Pa.n(2)
上手くいかないコードがあるならそれを見せてくれないと何とも言えん

19
デフォルトの名無しさん (ガラプー KK47-sx4I)[]   投稿日:2016/12/13 20:14:57  ID:vty9E/+AK.n(3)
諦めました
おさわがせしました

20
デフォルトの名無しさん (ワッチョイ 4bdc-+dBx)[sage]   投稿日:2016/12/13 21:27:28  ID:yoJDLw390.n
諦めちゃったなら意味ないんだろうけど、こんな感じじゃろ。
const char *str_ptr(void) {
 const char *ret = "some string";
 return ret;
}

固定の文字列なら変数に代入する必要すらなくて
const char *str_ptr(void) {
 return "constant string";
}

固定文字列を返す関数に実用性があるか不明だけど、
「関数内で生成した文字列だけど外部で書き換えないでね。
変更するなら呼出し側でコピーしてから好きに変更してね」
という意図は明らかにできるかな。
コメント1件

21
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]   投稿日:2016/12/13 22:24:10  ID:AlD2ABgfK.n(6)
自分でやるのをあきらめる人が居るから、技術料の要求が許される。
そうした技術は誰もができる訳ではない。

22
デフォルトの名無しさん (ワッチョイ 0b7b-ymeu)[]   投稿日:2016/12/13 22:59:11  ID:tzzF7wIm0.n
>14,20
死ね、ゴミクズ

static const char *ret = "some string";
コメント1件

23
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK07-sH8c)[sage]   投稿日:2016/12/13 23:05:12  ID:AlD2ABgfK.n(6)
>22
うるせえ雑魚。これはポインタだから静的に確保しても変わらない。
無駄にconst付けすぎ。

24
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK07-sH8c)[sage]   投稿日:2016/12/13 23:07:31  ID:AlD2ABgfK.n(6)
訂正。「無駄にconst付けすぎ。」をケス。

25
デフォルトの名無しさん (ワッチョイ 533c-drn7)[sage]   投稿日:2016/12/13 23:12:36  ID:4GRPhoBF0.n(2)
リテラル文字列そのものはスコープから抜けても静的に生き続けてるから
ポインタ戻したあとに利用してもセフセフ (内容の書き換えは駄目だけど)

26
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]   投稿日:2016/12/13 23:17:48  ID:AlD2ABgfK.n(6)
const char *ret = "some string";
このコードは「some string」という文字列をヌル終端で読み込みのみのメモリーに格納し、そのメモリーの先頭アドレスをretにセットする。
古い規格ではconstは必要なかったが、読み込み専用で書き込みできない(read-only)なので、新しい規格ではconstが必要。

27
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]   投稿日:2016/12/13 23:22:12  ID:AlD2ABgfK.n(6)
配列にした場合、const char ret[] = "some string";
となって文字列はスタックに確保される。この場合constを付けなければ、書き込み可能になる。
スタックメモリーを戻り値として返すのはまずいので、このような配列を返す場合はstaticを付けなければならない。
コメント1件

28
デフォルトの名無しさん (ワッチョイ b3e3-VjgG)[]   投稿日:2016/12/13 23:22:36  ID:Khw0PcSJ0.n
static const char const *ret = "some string";

29
デフォルトの名無しさん (ワッチョイ 533c-drn7)[sage]   投稿日:2016/12/13 23:44:58  ID:4GRPhoBF0.n(2)
>20 の例で
関数抜けた時にリテラル文字列 "some string" や "constant string" は
「スコープの外に出た時無効になるから、そんなんのポインタ返しても無意味だろ」 と勘違いする人は多いね
コメント1件

30
デフォルトの名無しさん (ワッチョイ b741-l58V)[sage]   投稿日:2016/12/14 07:55:05  ID:Mw3ROjnJ0.n
>29
そうそう。>27が色々書いてるけど、スタックに積まれるのはポインタであって、文字列はコンパイル時にread onlyの領域に確保されてるよね。
コメント1件

31
デフォルトの名無しさん (ブーイモ MM47-5xeh)[sage]   投稿日:2016/12/14 08:26:04  ID:vp5qXEYzM.n(2)
実装によらず、規格上その文字列がいつまでも生きてる保証あるの?
コメント2件

32
デフォルトの名無しさん (ワッチョイ 4324-iA20)[]   投稿日:2016/12/14 09:02:00  ID:lLfa6c4n0.n
>31
c++11規格なら間違いなくある。
つい最近確認した。
多分03でも書いてあるんじゃないかな。

確か、static strage classと同等、みたいな書き方だったような。
コメント1件

33
デフォルトの名無しさん (ドコグロ MMc7-Wysm)[sage]   投稿日:2016/12/14 09:15:55  ID:aDnd8CGXM.n
>31
JISX3010によれば、文字列リテラルは静的記憶域期間を持ち、プログラムが終了するまで生存する
コメント1件

34
デフォルトの名無しさん (ブーイモ MM47-5xeh)[sage]   投稿日:2016/12/14 10:39:10  ID:vp5qXEYzM.n(2)
>32
>33
サンキュ

35
デフォルトの名無しさん (ワッチョイ 7b36-dpej)[sage]   投稿日:2016/12/14 14:05:12  ID:Q3fXtkGO0.n
>30
>文字列はコンパイル時にread onlyの領域に確保されてるよね。
そうとは限らない

36
デフォルトの名無しさん (ワントンキン MMef-g0tO)[sage]   投稿日:2016/12/14 14:59:39  ID:q11TWfYqM.n(3)
K&R的には書き換え可能を謳っていたし

37
デフォルトの名無しさん (アウアウカー Sa67-xb/r)[sage]   投稿日:2016/12/14 19:08:19  ID:rxF6bqb2a.n(2)
JISX3010だと書き換えは未定義動作だけどな
その癖、rodataに置かれる保証がない

38
デフォルトの名無しさん (ワッチョイ d342-WrC4)[sage]   投稿日:2016/12/14 19:10:44  ID:h4mrordC0.n
配列に格納された文字列でなく、埋め込まれた文字列を書き換えるって気持ち悪くないですか?
コメント1件

39
デフォルトの名無しさん (アウアウカー Sa67-xb/r)[sage]   投稿日:2016/12/14 19:18:33  ID:rxF6bqb2a.n(2)
文字列リテラルは配列だぞ

40
デフォルトの名無しさん (ワントンキン MMef-g0tO)[sage]   投稿日:2016/12/14 19:30:20  ID:q11TWfYqM.n(3)
>38
文句はカーニハンに言っておくれ

41
デフォルトの名無しさん (トンモー MM07-38k1)[]   投稿日:2016/12/14 20:30:13  ID:Z+mku6fRM.n
k&rは間違いもあるでしょ?

42
デフォルトの名無しさん (ワントンキン MMef-g0tO)[sage]   投稿日:2016/12/14 20:44:27  ID:q11TWfYqM.n(3)
昔はあれだけが規約だったし。Lattice C / MS-C ver 2.x の頃
ちなみに SONY News は a =- b; 構文をサポートしていた
コメント1件

43
デフォルトの名無しさん (ワッチョイ 95b3-BQpQ)[sage]   投稿日:2016/12/15 11:21:06  ID:vd5CEk1t0.n
コンソールからコマンド列を取得する方法で教えて下さい。

CMD 0,1,2,3, ...... ,63

↑こんな感じで、カンマ区切り64個の文字列をsscanf()で取り込もうとしましたが、
「_sscanf': too many parameters」というエラーがでて怒られてしまいました。
文字列が16個まではsscanf()でエラーがでませんでした。

sscanf以外で実現する方法はないでしょうか?
コンパイラはKeil社製のC51です。
コメント2件

44
デフォルトの名無しさん (ドコグロ MM1c-qYir)[sage]   投稿日:2016/12/15 11:56:22  ID:QR6DFXxyM.n
>43
コマンドライン引数 C言語でググれ

45
デフォルトの名無しさん (JP 0H21-sBe1)[sage]   投稿日:2016/12/15 13:10:44  ID:KqXo4C+PH.n(2)
コマンドライン引数は取得できてて、文字列の分解方法を知りたいだけじゃないの?
質問が悪いけど。

46
デフォルトの名無しさん (ワントンキン MM40-Qnvt)[sage]   投稿日:2016/12/15 13:15:54  ID:4tPXC7shM.n(2)
strtok でぐぐれ

47
デフォルトの名無しさん (JP 0H21-sBe1)[sage]   投稿日:2016/12/15 13:20:01  ID:KqXo4C+PH.n(2)
で、そうだとして、独自の組み込み用コンパイラに
どこまでライブラリ揃ってるかわからんが
strtok使うかstrchrとstrncpyを繰り返していくかくらいかな

48
デフォルトの名無しさん (ワッチョイ 5953-8u2n)[sage]   投稿日:2016/12/15 14:07:18  ID:lA9gUxPc0.n
>43
16個まで読み取れるのならsscanf()1回につき15以下に分けて何回か繰り返し使えば

49
デフォルトの名無しさん (ワッチョイ bf42-8I6M)[sage]   投稿日:2016/12/15 14:19:49  ID:h9p732cR0.n
自分で作った方がカスタマイズもできるしいいのではないか?

50
デフォルトの名無しさん (ドコグロ MMb8-1Qes)[sage]   投稿日:2016/12/15 22:25:33  ID:1piDfet3M.n
>42
a=-b; がサポートされてなかった頃は、どう表現してたの?
コメント1件

51
デフォルトの名無しさん (ワントンキン MM40-Qnvt)[sage]   投稿日:2016/12/15 23:05:59  ID:4tPXC7shM.n(2)
>50
a -= b; こちらが仕様に残った
コメント1件

52
デフォルトの名無しさん (ワッチョイ 313b-1Qes)[sage]   投稿日:2016/12/15 23:46:21  ID:AelGIewF0.n
>51
a=-b;
a-=b;

意味が全然違うんですけど?
コメント1件

53
デフォルトの名無しさん (ワントンキン MM40-Qnvt)[sage]   投稿日:2016/12/16 00:01:29  ID:NxW+n95+M.n(2)
>52
K&Rの第一版を探してよく読んでみなされ。
古い構文では同じ意味になる。
コメント2件

54
デフォルトの名無しさん (ブーイモ MMb8-NNp8)[sage]   投稿日:2016/12/16 00:11:41  ID:8smapNZTM.n
マイナスbと紛らわしいから変更になったんだよ
コメント1件

55
デフォルトの名無しさん (トンモー MM8d-jDu7)[]   投稿日:2016/12/16 08:18:46  ID:xflKNdYkM.n
まぎらわしかったのは覚えてますよ。

56
デフォルトの名無しさん (ドコグロ MMb8-1Qes)[sage]   投稿日:2016/12/16 09:23:50  ID:4trABnm/M.n
>54
なるほど、
a=-b;
a= -b;
が違うってことか。

57
デフォルトの名無しさん (ドコグロ MM55-T1UI)[sage]   投稿日:2016/12/16 12:55:58  ID:r8Wq9TPYM.n
>53
手元の初版(但し石田晴久の翻訳版)だと代入演算子はop=の形だけど、それって原書?
コメント1件

58
デフォルトの名無しさん (ワントンキン MM40-Qnvt)[sage]   投稿日:2016/12/16 13:01:23  ID:NxW+n95+M.n(2)
>57
注記があるでしょ。

59
デフォルトの名無しさん (ワッチョイ fd7b-NX/j)[sage]   投稿日:2016/12/16 13:33:14  ID:hTcwG5sq0.n
>53
歴史的意味を持つ53にふさわしいレスだ

60
デフォルトの名無しさん (JP 0H21-sBe1)[sage]   投稿日:2016/12/16 14:16:34  ID:2JVojfa5H.n
注記見当たらないなぁ
俺も知識としては知っているけどどこで読んだのか全く思い出せない
それにしても初版のフォントきたねぇな
よくこれで勉強できたものだ
コメント1件

61
デフォルトの名無しさん (ワッチョイ a1bd-Vn9u)[]   投稿日:2016/12/16 17:25:53  ID:UN7/R1CA0.n(2)
俺がC言語苦手なのは「gccオプションが多様過ぎる」ことだという
事に気が付いた。
ある本で学習したコーディングを違う目的に使おうとしてもさっぱり
動かなかったり無反応だったりする。
そこでさんざん悩んで、いつも最終的に行き着く先は
「gccのオプションが適正じゃない」ってことだ。
それぞれのC言語の解説サイトとかでも、読者は当然のように
gccのオプションを正しく指定できるかのように書いてあるが
そこが一番意味わかんないんだよ。
gccのオプションで最も重要なポイントはなんなのかを教えて
くれ。
コメント1件

62
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KKbf-M0Y0)[]   投稿日:2016/12/16 17:36:49  ID:7QWR4VpBK.n(4)
【gccのよく使うコマンドラインオプション】
-c
コンパイルのみでリンクはしない。
-o file.exe
-o file.o
出力ファイルを指定する。
-O0 (オーとゼロ)
最適化なし。
-O3
最適化する。
-g -ggdb
デバッグ情報を付加する。
-Idir
ディレクトリdirを#includeの検索パスに追加する。
-Ldir
ディレクトリdirをリンカの検索パスに追加する。

63
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KKbf-M0Y0)[sage]   投稿日:2016/12/16 17:46:27  ID:7QWR4VpBK.n(4)
【gccの覚えておくと便利なコマンドラインオプション】
-lmylib
ライブラリlibmylib.aをリンクする。
-Wall -pedantic
初心者向けにていねいに警告をしてもらう。
-m32
32ビットプログラムとしてコンパイル・リンクする。
-m64
64ビットプログラムとしてコンパイル・リンクする。
-mwindows
ウィンドウズアプリとしてビルドする。

64
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KKbf-M0Y0)[sage]   投稿日:2016/12/16 18:01:28  ID:7QWR4VpBK.n(4)
【おまけ】
--version
バージョン情報を表示する。
-v --help
詳しいヘルプを表示する。
-std=c11
C11規格でビルドする。

65
デフォルトの名無しさん (ワッチョイ 8ddc-l7I3)[sage]   投稿日:2016/12/16 18:01:46  ID:2kpKp/Uz0.n
gcc だと -std の指定も大事だよ。新しいPOSIX関数を使うためには
-std=c11 ではダメで -std=gnu11 が必要、とかね。

あと -Wall -Wextra -Werror の三連コンボが好き。
コンパイラ様に奉仕してるようなマゾな気分になれる。

66
デフォルトの名無しさん (ワッチョイ a1bd-Vn9u)[]   投稿日:2016/12/16 18:01:48  ID:UN7/R1CA0.n(2)
おおありがとう。片山さん
C言語の肝はコーディング本体よりここだよな。
最近やっとそういうことに気が付いたぜ。

67
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KKbf-M0Y0)[sage]   投稿日:2016/12/16 18:16:08  ID:7QWR4VpBK.n(4)
【おまけ2】
-static
なるべくスタティックリンクとしてリンクする(依存するDLLファイルを少なくする)。
-shared
DLLファイルを作る。

※補足。ライブラリファイルを作成したいときはarというコマンドを使う。

68
デフォルトの名無しさん (ワッチョイ 9c7b-KEV/)[sage]   投稿日:2016/12/17 01:03:25  ID:lu7YUydK0.n
-O3 の最適化は、バグるんじゃねえの?

-O2 にしておく方が無難かな?

69
デフォルトの名無しさん (JP 0H40-GkUW)[]   投稿日:2016/12/17 01:12:21  ID:TZRPZZKHH.n
O3でバグるのであれば99.9%お前のコードが壊れてるだけだから。

70
デフォルトの名無しさん (ガラプー KKbf-g9Jd)[]   投稿日:2016/12/17 01:27:08  ID:vFA7y1OsK.n(6)
何でabsは小数対応してねーんだ?
パーかおめ

71
デフォルトの名無しさん (ワッチョイ f77b-GkUW)[]   投稿日:2016/12/17 01:28:41  ID:SZHJDyPT0.n(2)
fabs

72
デフォルトの名無しさん (ガラプー KKbf-g9Jd)[]   投稿日:2016/12/17 01:49:15  ID:vFA7y1OsK.n(6)
ネタかと思ったらマジであったwww
マジかよせっかく関数自作したのに

73
デフォルトの名無しさん (ワッチョイ f77b-GkUW)[]   投稿日:2016/12/17 02:07:07  ID:SZHJDyPT0.n(2)
こっちがネタかと思うわ

74
デフォルトの名無しさん (ワッチョイ 413c-0G5/)[sage]   投稿日:2016/12/17 02:26:35  ID:YWhF62K90.n
Borland C++Builder 6J Professional
を昔使ってたんですけどどこかにいってしまったので
似たようなC言語の支援アプリがあれば教えてください
コンパイルができて数値のトレースができればとりあえずいいです

75
デフォルトの名無しさん (ワッチョイ 9c42-cnOc)[]   投稿日:2016/12/17 03:27:17  ID:ajJ2f2OI0.n(2)
DevCpp

76
デフォルトの名無しさん (ワッチョイ 9c42-cnOc)[]   投稿日:2016/12/17 03:29:29  ID:ajJ2f2OI0.n(2)

77
デフォルトの名無しさん (ブーイモ MMb8-NNp8)[sage]   投稿日:2016/12/17 20:43:48  ID:OS2ZpCxxM.n
>60
俺も知識として知ってるだけだがソースはここだな

代入演算子
現在は「x -= 1」などと書かれている代入演算子
が、 当時は「x =- 1」と書かれていた。 これは「x
= -1」とまぎらわしく、あきらかな欠陥である。 こ
れについてはDennis Ritchieが多少の 説明 を書いて
いる。
http://www.tom-yam.or.jp/2238/c.html

40年前には今の形だからまさしく無駄知識
コメント1件

78
デフォルトの名無しさん (ワッチョイ ed17-jFiT)[sage]   投稿日:2016/12/17 21:00:13  ID:MJ/TQYFY0.n
forループのカウント変数をインクリメントするとき、
for (i =0;i < N;i += 1) {
hoge;
}
と書くのは異端でしょうか、やっぱりi++としなければいけないのでしょうか?
コメント3件

79
デフォルトの名無しさん (ワントンキン MM40-Qnvt)[sage]   投稿日:2016/12/17 21:02:17  ID:dZ2G3FBdM.n
>77
NEWSは1987年だから29年前の新機種でこの構文が残存していた

80
デフォルトの名無しさん (アウアウカー Sac1-0N6Z)[]   投稿日:2016/12/17 21:13:03  ID:KmLdyZjaa.n
>78
どっちでも同じなんじゃないの?

81
デフォルトの名無しさん (ブーイモ MM8d-gR9t)[]   投稿日:2016/12/17 21:20:22  ID:fx0VAANBM.n
>78
好きにせい。

82
デフォルトの名無しさん (ワッチョイ 413c-jFiT)[sage]   投稿日:2016/12/17 22:07:19  ID:NAxcui0t0.n
>78
好きにしろとは思うが異端な書き方をわざわざする奴とは関わりたくないな。

83
デフォルトの名無しさん (ワッチョイ 8da5-6+SE)[sage]   投稿日:2016/12/17 22:59:17  ID:c3RxWz0q0.n
>78
異端かと言われれば、異端ですかね。

84
デフォルトの名無しさん (ガラプー KKbf-g9Jd)[sage]   投稿日:2016/12/17 23:25:54  ID:vFA7y1OsK.n(6)
異端だという人が居たんだ

85
デフォルトの名無しさん (ガラプー KKbf-g9Jd)[sage]   投稿日:2016/12/17 23:26:22  ID:vFA7y1OsK.n(6)
異端だと書いたんだとか

86
デフォルトの名無しさん (ガラプー KKbf-g9Jd)[sage]   投稿日:2016/12/17 23:26:59  ID:vFA7y1OsK.n(6)
異端団体(怪文

87
デフォルトの名無しさん (ガラプー KKbf-g9Jd)[]   投稿日:2016/12/17 23:29:25  ID:vFA7y1OsK.n(6)
淫クリメントではなく2以上ずつ増やす場合なんかはその書き方でもいいんじゃないかと一瞬思ったけど
その場合はブロックの中でiを2倍して使うわな
コメント2件

88
デフォルトの名無しさん (ワッチョイ be17-8I6M)[sage]   投稿日:2016/12/17 23:31:47  ID:KLGPWiej0.n
>61
それオプションじゃなくてgcc拡張機能でしょ
gcc拡張マクロとか色々
基本gccでもC標準コード(C99とかC11とか)で書くべき

89
デフォルトの名無しさん (ワッチョイ 413c-0G5/)[sage]   投稿日:2016/12/18 06:29:31  ID:IKefTUjV0.n
>76
日本語のものか日本語化できるものじゃないと使えないんですが

90
デフォルトの名無しさん (ワッチョイ 5e3c-J3Q9)[sage]   投稿日:2016/12/18 07:34:21  ID:CFuzcgv70.n
>87
0 スタートならそれでいいけど、そうでないなら
> for(i =1; i < N; i += 2) {
の方が楽

91
デフォルトの名無しさん (ワッチョイ 8017-8I6M)[]   投稿日:2016/12/18 08:28:53  ID:XMF9Nrwk0.n
>87 を書いた ID:vFA7y1OsK のIME辞書について誰も触れないことが、このスレの品質の高さを表している。良い。

92
デフォルトの名無しさん (ワントンキン MM40-Qnvt)[sage]   投稿日:2016/12/18 09:00:14  ID:M1pyFWnCM.n(2)
共有あぼーんだから見てないとかだったりして

93
デフォルトの名無しさん (ワッチョイ a1c1-0N6Z)[]   投稿日:2016/12/18 14:29:08  ID:DOnS1Isy0.n
初学者なのですが、ANSI Cでバッファリングしない入出力関数(read,writeなど)は用意されていませんか?

94
デフォルトの名無しさん (アウアウカー Sac1-W/im)[sage]   投稿日:2016/12/18 16:10:21  ID:eYgTWekAa.n
setbufでバッファリング止める

95
デフォルトの名無しさん (エーイモ SEc8-WqSn)[sage]   投稿日:2016/12/18 20:40:17  ID:YPxTMQCXE.n
変数を定義するときにprintf("hello %s", "world")みたいにフォーマットで値を指定するのは何を使うのでしょうか?

↓こんな感じでフォーマットで値を代入したい
char[100] s = printf("hello %s", "world")

96
デフォルトの名無しさん (ワントンキン MM40-Qnvt)[sage]   投稿日:2016/12/18 20:42:12  ID:M1pyFWnCM.n(2)
sprintf(s,.....

97
デフォルトの名無しさん (アウアウカー Sac1-MtzF)[sage]   投稿日:2016/12/19 01:09:08  ID:ueP3u2TYa.n
キーボードからの入力を任意のn回受付けたいのですがどうすればいいでしょうか

例えばn=3だとすると
2016
12月19日
東京
のように入力と改行を三回繰り返せるようにしたいのです
できればscanfは使わない方向でいきたいと思います
nが定数なら回数分fgetsを用意すればいいとは思うのですが、不定の場合がわからなくて
よろしくお願いします
コメント1件

98
デフォルトの名無しさん (ワッチョイ ed17-jFiT)[sage]   投稿日:2016/12/19 01:58:42  ID:4+gdyXDN0.n
callocで領域確保してその分だけforで入力回せばいいのでわ?
コメント1件

99
デフォルトの名無しさん (ワントンキン MM40-E6rE)[]   投稿日:2016/12/19 12:27:19  ID:Pjh5QTzyM.n
>97
CTRL+DとかCTRL+Zでループ抜けるようにするとか?
コメント1件

100
デフォルトの名無しさん (ワッチョイ 8ddc-l7I3)[sage]   投稿日:2016/12/19 12:50:31  ID:T4wJ3ee00.n(2)
char buf[BUFFSIZE];
while (1) {
 if (fgets(buf, sizeof(buf), stdin) == NULL) break;
 if (strcmp(buf, ".") == 0) break; /* 終了時は . だけを入力 */

/* buf(入力された1行)を使って何か処理 */
}

こんな感じかな?
「とりあえず無限ループで回して終了判定はループ内で」という気持ち。
普通は fgets() を while のループ条件にすると思うけど、
この例では意図のとらえやすさを優先。

最初の入力行が西暦年ならトータル3行、年のない日付ならトータル2行、
みたいな処理が必要なら見当違いだけど。
コメント2件

101
デフォルトの名無しさん (アウアウカー Sac1-MtzF)[sage]   投稿日:2016/12/19 13:01:28  ID:4nRPbYuPa.n
>98
>99
>100
ありがとうございます
某サイトの問題を解くためのものなので詳しく説明できず申し訳ないです
最初に出題者側がnを標準入力し、その後にn行の文字列が入力され、それに対して処理するような形です
もう少しがんばってみます

102
デフォルトの名無しさん (ワッチョイ e03c-XTx4)[sage]   投稿日:2016/12/19 18:56:58  ID:2RVgkSEz0.n
>100
>  if (strcmp(buf, ".") == 0) break; /* 終了時は . だけを入力 */

"." ではなく ".\n" にしないと抜けられない
コメント1件

103
100 (ワッチョイ 8ddc-l7I3)[sage]   投稿日:2016/12/19 19:32:58  ID:T4wJ3ee00.n(2)
>102 いや、お恥ずかしい。
いつもfgets()の結果に'\n'まで格納されることを忘れる。

というか、fgets()の直後で'\n'の存在を見て入力行を全部拾えたか確認、
そのついでに'\n'を取り除いちゃうんだわ。

104
デフォルトの名無しさん (エーイモ SE8e-WqSn)[sage]   投稿日:2016/12/20 11:17:47  ID:T47v8o6SE.n
linuxにgccとclangをインストールしたんですが
/usr/includes以下をstdio.hで検索すると4つのファイルがヒットします

/usr/include/x86_64-linux-gnu/bits/stdio.h
/usr/include/c++/4.9/tr1/stdio.h
/usr/include/bsd/stdio.h
/usr/include/stdio.h


#include <stdio.h>と書いた時のstdio.hはどこからincludeされてるのでしょうか?
コメント2件

105
デフォルトの名無しさん (ワッチョイ 413c-0G5/)[sage]   投稿日:2016/12/20 13:13:13  ID:pB91CH7m0.n
Dev-Cpp 5.11を使ってC言語のソースを書いたのですが
コンパイルして実行はできたんですけど
intやcharで指定した整数値、整数列や文字列を
トレースしたものを表示することはできないでしょうか

106
デフォルトの名無しさん (ガラプー KKbf-M0Y0)[sage]   投稿日:2016/12/20 13:19:45  ID:YnwEGLVJK.n

107
デフォルトの名無しさん (ワッチョイ 1f7b-enmE)[sage]   投稿日:2016/12/20 19:21:16  ID:o+L+5jFr0.n
gcc -E source.c とかしてた
コメント2件

108
デフォルトの名無しさん (ワッチョイ 7c36-BQpQ)[sage]   投稿日:2016/12/21 00:42:22  ID:TdzlKDyl0.n(2)
volatileについて教えて下さい。
以下のコードをgccで-Oでコンパイルすると
func1は逆アセンブラでA.a=2が消えてしまいます。
clangやVCではどちらも消えませんでした。
言語仕様的にはどの動作もありなのでしょうか?

void func1() {
struct { volatile int a; } A = {1};
printf(

109
デフォルトの名無しさん (ワッチョイ 7c36-BQpQ)[sage]   投稿日:2016/12/21 00:48:15  ID:TdzlKDyl0.n(2)
すいません。失敗したようです。
https://goo.gl/Vv3SY8

110
デフォルトの名無しさん (ワッチョイ be17-8I6M)[sage]   投稿日:2016/12/21 00:53:52  ID:hCsx8Epe0.n(2)
volatile=揮発性
C言語ではコードで(代入操作等々)何もして無くても勝手に変数の中身が変わる可能性がることをコンパイラに示唆する
コンパイラはその示唆を受けてコードで(代入操作等々)何もして無くても最適化で勝手に除外することから回避させる

111
デフォルトの名無しさん (ガラプー KKbf-g9Jd)[]   投稿日:2016/12/21 02:00:53  ID:09QnAhYDK.n(2)
普通に宣言した変数は勝手にゼロで初期化されるけど、
マロックで確保した領域は初期化してくれないって認識で10年近くやってるんだけど合ってる?

あとマロックで確保することもあるけど、しないこともあるポインタを
フリーするときにいつも困る。
できるだけ初期化時にヌルを入れて、フリーするときにヌルかどうかチェックさてるんだけど、
たまに忘れてマロックしてないポインタにフリーかけて原因不明のクラッシュが発生する。
もう少しスマートなやり方はないものか。
コメント3件

112
デフォルトの名無しさん (ワッチョイ 9c7b-KEV/)[sage]   投稿日:2016/12/21 03:27:15  ID:KDR4mUhA0.n
SafePointer とか、そういうマクロ・関数でも作れば?

というか、もう既に、誰かが作っているはず

113
デフォルトの名無しさん (ブーイモ MMb8-NNp8)[sage]   投稿日:2016/12/21 03:37:07  ID:UEWExIW4M.n
freeはNULLそのまま渡しても問題ない
初期化でint *p=NULLとかすればいいだけでは?
グローバル使い回してるならfree後きちんとNULL入れるとか

114
デフォルトの名無しさん (ワッチョイ 3a13-0G5/)[sage]   投稿日:2016/12/21 07:51:57  ID:zzXbA3YE0.n(3)
>111
>普通に宣言した変数は勝手にゼロで初期化
されない

>できるだけ初期化時にヌルを入れて、フリーするときにヌルかどうかチェックさてるんだけど、
あまりよくない,ロジックとしてフリーするかしないかを決めるように作る

115
デフォルトの名無しさん (トンモー MM8d-jDu7)[]   投稿日:2016/12/21 08:34:41  ID:UE5SYSGLM.n
>111
それはそもそもプログラマとして、
仕事で作ってるんじゃないよね?

仕事でそのレベルだと
プログラマ辞めて欲しい。
迷惑だから。

116
デフォルトの名無しさん (アウアウカー Sac1-MtzF)[sage]   投稿日:2016/12/21 08:38:04  ID:ckTdq8QXa.n
デジタルネイティブ世代が8才くらいから始めて今18くらいなんやろ(ハナクソホジー

117
デフォルトの名無しさん (ワッチョイ 9d4e-i+Qt)[sage]   投稿日:2016/12/21 09:48:09  ID:mEC73fYi0.n
freeしたらNULL代入
当然ですよね皆さん

118
デフォルトの名無しさん (ワッチョイ bf42-8I6M)[sage]   投稿日:2016/12/21 09:55:04  ID:eJeA761i0.n
それより電源を切る方が速いし確実

119
デフォルトの名無しさん (ワッチョイ d1a1-YA5h)[]   投稿日:2016/12/21 11:37:02  ID:DeAhOSlZ0.n(2)
>111
グローバル変数は、0になってる。
関数とかブロックのなかにあるのは、自分で初期化しなければならない
コメント1件

120
104 (エーイモ SEc8-WqSn)[sage]   投稿日:2016/12/21 12:13:59  ID:hWdBWEeDE.n
clang -print-search-dirsでパスを確認してみました
見やすいように加工しました
これ全部辿ってもstdio.hを含むディレクトリがありませんでした
[programs]
/usr/bin
/usr/lib/llvm-3.9/bin
/usr/x86_64-linux-gnu/bin
[libraries]
/usr/lib/llvm-3.9/lib/clang/3.9.1
/usr/lib/gcc/x86_64-linux-gnu/4.9
/usr/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/lib64
/usr/lib/x86_64-linux-gnu
/usr/lib
/usr/lib/llvm-3.9/lib
/lib
/usr/lib
コメント1件

121
デフォルトの名無しさん (JP 0H21-sBe1)[sage]   投稿日:2016/12/21 12:25:58  ID:IT3zLaEfH.n

122
デフォルトの名無しさん (ワッチョイ 8ddc-l7I3)[sage]   投稿日:2016/12/21 12:30:57  ID:KtI+UjCH0.n
>104
>106 のリンク先の一部だけ読んで早とちりしてるな。
print-search-dirs のオプションはリンカ向けのパス指定らしい。

#include のパスはコンパイラに -v をつけて調べるみたいだぞ。
具体的には↓
$ gcc -v main.c

または >107 のプリプロセッサの出力を得る手法
$ gcc -E main.c

123
104 (エーイモ SE8e-WqSn)[sage]   投稿日:2016/12/21 18:00:41  ID:WQL39TxQE.n
-vとか-E付けたらドバっと出力がでてきてそこ確認したらstdio.hのパスが表示されてました
先輩方ありがとうございます

124
デフォルトの名無しさん (ワッチョイ 9e5b-zrF5)[]   投稿日:2016/12/21 20:11:21  ID:zZhKNwXq0.n
俺はNULLは使わない。信用できない。
\0を入れる。
コメント1件

125
デフォルトの名無しさん (ワッチョイ 3a13-0G5/)[sage]   投稿日:2016/12/21 20:38:11  ID:zzXbA3YE0.n(3)
>119
グローバル変数?何それ?

126
デフォルトの名無しさん (ワッチョイ 3a13-0G5/)[sage]   投稿日:2016/12/21 20:38:52  ID:zzXbA3YE0.n(3)
>124
0 でいいのになぜ \ をつけるのか?

127
デフォルトの名無しさん (ワッチョイ 9e17-3Pgg)[sage]   投稿日:2016/12/21 22:09:33  ID:lWq75keW0.n
NULLも0も\0も意味が違うだろう
言語仕様上全て0で書けるとしてもだ
コメント1件

128
デフォルトの名無しさん (ワッチョイ 9cba-0G5/)[sage]   投稿日:2016/12/21 22:41:46  ID:LwOfWJ5k0.n
NULLはヌルポインタなんだから正しいだろ
コメント1件

129
デフォルトの名無しさん (ワッチョイ d1a1-YA5h)[sage]   投稿日:2016/12/21 23:16:38  ID:DeAhOSlZ0.n(2)
#define BUFFER_SIZE 64
#include <stdio.h>
#include <string.h>

char clear[BUFFER_SIZE];

int main(void)
{
  char rubbish[BUFFER_SIZE];
  int k;
  for(k = 0; k < BUFFER_SIZE; k++) {
    if(rubbish[k]) {
      putchar('o');
    } else {
      putchar('_');
    }
  }

  putchar('\n');
  memcpy(rubbish, clear, BUFFER_SIZE);
  for(k = 0; k < BUFFER_SIZE; k++) {
    if(rubbish[k]) {
      putchar('o');
    } else {
      putchar('_');
    }
  }

  return 0;
}

130
デフォルトの名無しさん (ガラプー KK8d-g9Jd)[sage]   投稿日:2016/12/21 23:39:29  ID:09QnAhYDK.n(2)
ありがとう。
グロ変とロー変で初期化具合が違うのは知らなかった。
とりあえず今のところクレームは来てないが気を付けておくよ。

メモリの安全な確保と解放はやっぱり自分で実装しなきゃいけないんだな。
コメント1件

131
デフォルトの名無しさん (ワッチョイ be17-8I6M)[sage]   投稿日:2016/12/21 23:45:21  ID:hCsx8Epe0.n(2)
Cでは当たり前
普通にメモリリークやん

132
デフォルトの名無しさん (ブーイモ MMb8-sBe1)[sage]   投稿日:2016/12/21 23:56:53  ID:RIWp4NgqM.n
>130
クレームとか気をつけるとかのレベルじゃなくて
今すぐ詫び入れて修正してまわるべき件

133
デフォルトの名無しさん (ワンミングク MMff-TSM7)[]   投稿日:2016/12/22 00:20:54  ID:uQsPz27EM.n
初心者ほどvalgrindみたいなメモリチェックツール使うべきだよね。
初心者がよく使うWindowsで同じくらい簡単に扱えるツール知らんけど

134
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/22 00:50:55  ID:HKoOWrI10.n
10年やってて初心者ってのもな
10年でこのレベルのコードを書く奴を野放しにするってのはもう会社としてもダメだね
どんな試験して通したんだよと

135
デフォルトの名無しさん (ワッチョイ 3f48-5BdW)[]   投稿日:2016/12/22 03:23:33  ID:ZunrXhMa0.n
触らぬ神に祟りなし

136
デフォルトの名無しさん (ワッチョイ 7f5b-agOw)[]   投稿日:2016/12/22 04:30:13  ID:tW0chUkJ0.n
グローバル変数や、sitaticを付けた静的変数だけ起動時に0で初期化される。
動的変数は初期化されない。

モニタの前の初心者のみんな!また一つ勉強になったな!
コメント2件

137
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 05:27:51  ID:wOMf5z1o0.n(8)
重箱の隅をつつく様だけどC言語では動的変数は使えない
スクリプト言語などで多用される実行時に型が決定される変数がいわゆる動的変数と呼ばれるもの
コメント1件

138
デフォルトの名無しさん (ワッチョイ a74e-qjDb)[sage]   投稿日:2016/12/22 05:29:51  ID:bsgStS2K0.n(2)
正確には実行時にスタックに確保される変数だな

139
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 06:48:07  ID:YVr1LIe6M.n(8)
>137
それは動的型付け
そもそも動的変数ってあまり言わないけど静的変数云々の流れなら動的に確保される変数を示すのは自明

140
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 06:52:25  ID:wOMf5z1o0.n(8)
C言語に限って言えば自動変数が正しい呼称

141
デフォルトの名無しさん (ワッチョイ 0fba-i5Qz)[sage]   投稿日:2016/12/22 06:59:11  ID:LHSvnxW/0.n
今どきの初心者はWindowsでCなんかやらんだろうなぁ。

142
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 07:01:23  ID:wOMf5z1o0.n(8)
構文的にはC言語の型クラスは、auto、static、registerの3種類

143
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/22 07:04:29  ID:avfrOzDw0.n(5)
>127
#define NULL 0 だよ
\0 は 0 といっしょだよ
全部意味は一緒だよ
コメント2件

144
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/22 07:05:28  ID:avfrOzDw0.n(5)
>136
グローバル変数ってなんや?

145
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 07:06:44  ID:YVr1LIe6M.n(8)
malloc で確保される変数も動的に確保される変数なんだが...

146
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 07:17:57  ID:wOMf5z1o0.n(8)
動的に確保される領域ではあるがC言語では動的変数は使えない
だからポインタ経由でアクセスするしか方法がない
コメント1件

147
デフォルトの名無しさん (ワッチョイ 6717-g1cW)[sage]   投稿日:2016/12/22 07:38:31  ID:fTnZmeNI0.n
一時変数と永続変数ってわけ方しないと。
静的変数と動的変数だと意思疎通しにくい。
時間と空間がごっちゃになってる。

148
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 07:48:36  ID:wOMf5z1o0.n(8)
時間と空間って…
それを言うなら寿命とスコープだと思うけど

149
デフォルトの名無しさん (アウアウカー Sa3f-T2iK)[sage]   投稿日:2016/12/22 07:54:29  ID:tsoLK3Hka.n
ディアルガ変数とパルキア変数と名付けよう

150
デフォルトの名無しさん (ワンミングク MM5f-DNID)[sage]   投稿日:2016/12/22 08:03:06  ID:gEyN05DVM.n(2)
>143
いつの時代の話し?
ANSI になった時点で (void*)0 だった気がする
コメント2件

151
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 08:08:06  ID:YVr1LIe6M.n(8)
>146
いちいち動的型付けの話を混ぜるなよ
struct + union で Variant 型を作るとか普通にあるし文脈的にそんなこと言ってるのはお前だけ
コメント1件

152
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 08:09:37  ID:YVr1LIe6M.n(8)
>150
> グローバル変数ってなんや?
とか言ってる池沼の相手をするなよ...

153
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 08:15:21  ID:wOMf5z1o0.n(8)
>151
いや動的型付けの話など一言も言ってないんだが
そもそもC言語は静的型付き言語であって実行前にすべての変数の型を指定する必要がある
いきなりmallocみたいなライブラリ関数の話を持ち出したのはそっちだろ
コメント1件

154
デフォルトの名無しさん (ワンミングク MM5f-DNID)[sage]   投稿日:2016/12/22 08:16:48  ID:gEyN05DVM.n(2)
すまんorz

155
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 08:31:51  ID:YVr1LIe6M.n(8)
>153
> いや動的型付けの話など一言も言ってないんだが
はあ?
> スクリプト言語などで多用される実行時に型が決定される変数がいわゆる動的変数と呼ばれるもの

156
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 08:34:46  ID:wOMf5z1o0.n(8)
動的型付けと動的変数は全く違う観念の話だぞ
型システムそのものの話と変数宣言の言語実装の話をごっちゃにするなよ
コメント1件

157
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 08:42:36  ID:YVr1LIe6M.n(8)
>156
お前が言うなよ w
コメント1件

158
デフォルトの名無しさん (ワッチョイ af33-Esd/)[]   投稿日:2016/12/22 08:53:59  ID:SLe+oBSu0.n
>143
違うでしょ。
ほとんどの場合において「値」が同じだけで、「意味」は全く違うから。
とりま C faq 読もう。

更に、リテラル0は表記箇所の文脈に応じて、ヌルポと解釈されるか、値0とされるかが変わるので厄介な場合がある。
…と言うのも有名な話。
コメント2件

159
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/22 08:56:39  ID:wOMf5z1o0.n(8)
>157
結局なにが言いたいの?
C言語でも動的変数が使えると言いたいの?
例えば、JavaScriptにおけるvar型に相当するものがC言語でも使えるということ?
コメント1件

160
デフォルトの名無しさん (ワッチョイ df16-WoaB)[sage]   投稿日:2016/12/22 12:40:30  ID:I+XQXe+30.n
0を文脈によってnullpointerと解釈する設計は紛らわしいし悪手だったと思う
コメント2件

161
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 12:44:28  ID:YVr1LIe6M.n(8)
>159
この文脈で動的型付けの話をする奴は邪魔って話

162
デフォルトの名無しさん (ドコグロ MM7f-XDb5)[sage]   投稿日:2016/12/22 12:45:23  ID:l6mpIMJlM.n(2)
でも実際に困ったことなんてないし、if(!p) みたいに書けて便利

163
デフォルトの名無しさん (アウアウカー Sa3f-T2iK)[sage]   投稿日:2016/12/22 12:45:45  ID:VZ4t0q/ta.n
Cの悪手を考え出したらキリがない

164
デフォルトの名無しさん (ドコグロ MMdf-PK0Z)[sage]   投稿日:2016/12/22 12:45:57  ID:YVr1LIe6M.n(8)
>160
だね
俺もそう思う

165
デフォルトの名無しさん (ドコグロ MM7f-XDb5)[sage]   投稿日:2016/12/22 12:46:00  ID:l6mpIMJlM.n(2)

166
デフォルトの名無しさん (ワッチョイ abe3-eO0d)[]   投稿日:2016/12/22 19:48:06  ID:73EJ+NlS0.n(4)
初心者が読んだら混乱しそうだな

外部変数(グローバル変数) 0で初期化
自動変数(ローカル変数) 初期化必須
静的変数(スタティック変数) 0で初期化

0で初期化が保証されていても、明示するのが好ましい (static int global = 0;)

動的確保(実行時メモリ割り当て)

動的確保されたメモリ領域を変数に代入するとき
その変数を動的変数と呼ぶ風習はCにない

構造体と共用体でバリアント型の下りはデータ構造の話で、また別

>136は確信犯だろワロタ
コメント2件

167
デフォルトの名無しさん (ワッチョイ a74e-qjDb)[sage]   投稿日:2016/12/22 19:51:42  ID:bsgStS2K0.n(2)
動的変数という言い方はちょっと違和感あるよね

168
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/22 20:32:19  ID:avfrOzDw0.n(5)
>150
残念
#define NULL 0
が最近のトレンド
コメント2件

169
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/22 20:33:40  ID:avfrOzDw0.n(5)
>158
C FAQ を熟読しなければならないのはお前だ

170
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/22 20:35:05  ID:avfrOzDw0.n(5)
>166
外部変数と静的変数?
どちらも一緒だが?

好ましい?
どっちなんだ?
コメント1件

171
デフォルトの名無しさん (ワッチョイ abe3-eO0d)[]   投稿日:2016/12/22 21:03:13  ID:73EJ+NlS0.n(4)
>170
一緒じゃない
ただの外部変数なら別ファイルからexternで参照可能

172
デフォルトの名無しさん (ワッチョイ 633c-i5Qz)[sage]   投稿日:2016/12/22 21:09:14  ID:LRLJsAft0.n
どこまでアクセスできるかのスコープの話
何時までで生きてるかの生命の話

173
デフォルトの名無しさん (アウアウカー Sa5f-GvIT)[sage]   投稿日:2016/12/22 21:21:33  ID:H9zIAGx1a.n
外部結合だろうが内部結合だろうが静的な記憶期間を持つだろ
自動記憶期間なのは、無結合かつstaticでない場合
変数を外部、自動、静的で分けてる時点で間違い
コメント1件

174
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/22 21:32:07  ID:/ytrOsGa0.n(2)
>168
NULLが0なのはC++
ここはCスレ
コメント1件

175
デフォルトの名無しさん (ワッチョイ abe3-eO0d)[sage]   投稿日:2016/12/22 21:38:08  ID:73EJ+NlS0.n(4)
すまん漏れが無知で間違えてた
確かめてみたら>173の言う通りでつ

176
デフォルトの名無しさん (ワッチョイ d37b-jVSv)[sage]   投稿日:2016/12/22 21:44:53  ID:PGCHp0ah0.n
スコープから外れたメモリ領域も次に再利用されるまでは内容が残っている
その意味であるメモリ領域の生存期間を明言することは不可能である
パスワード等の一時的な機密情報の読み書きに利用した領域は意識してスワイプしなければならない
コメント1件

177
デフォルトの名無しさん (オッペケ Sr6f-vX8b)[sage]   投稿日:2016/12/22 21:47:39  ID:aXWpoPLSr.n
>128
ガッ!

178
デフォルトの名無しさん (ワッチョイ 6b7b-gVVB)[]   投稿日:2016/12/22 21:48:31  ID:/ytrOsGa0.n(2)

179
デフォルトの名無しさん (アウアウカー Sa5f-6FRj)[sage]   投稿日:2016/12/22 22:03:00  ID:9xT7uFfna.n
>176
それを言うならスコープじゃなくてstorage duration(記憶期間)だっていってるだろ!!!

まぁ普段は全く気にしないけどこの流れでこのミスは突っ込まざるを得んわ
コメント1件

180
デフォルトの名無しさん (ワッチョイ abe3-eO0d)[]   投稿日:2016/12/22 22:06:20  ID:73EJ+NlS0.n(4)
>179
鳥肌実で脳内再生されてワロタ

181
デフォルトの名無しさん (ワッチョイ 377b-3tOZ)[sage]   投稿日:2016/12/23 00:41:11  ID:kZ6vwWWk0.n(2)
>166
> 0で初期化が保証されていても、明示するのが好ましい (static int global = 0;)
ダメ オブジェクトが肥大する
コメント1件

182
デフォルトの名無しさん (ワッチョイ 233b-4FBo)[sage]   投稿日:2016/12/23 00:44:08  ID:R3LGx2Ye0.n(2)
>158
ガッ!

183
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/23 00:56:34  ID:i6XgFiMY0.n(3)
>181
何言ってんだ?
コメント1件

184
デフォルトの名無しさん (ワッチョイ 0790-uRrA)[sage]   投稿日:2016/12/23 01:03:18  ID:NoTKxOMK0.n
floatやポインタを実装によらず0にしたければ
暗黙の初期化を使わずに個別に入れるしかないんじゃなかったっけ?

185
デフォルトの名無しさん (ワッチョイ 9f7b-ecDe)[sage]   投稿日:2016/12/23 04:13:13  ID:Ptdk1YEU0.n(10)
ヌルポの0は単なるシンタックスシュガー

186
デフォルトの名無しさん (ワッチョイ 0f7b-Ao4e)[sage]   投稿日:2016/12/23 04:20:24  ID:UeJSrfIM0.n
ポインタの値自体が0であることに何の意味が?

問題はポインタの値がNULLかどうかでしょ?

187
デフォルトの名無しさん (ワッチョイ ff42-W2u1)[]   投稿日:2016/12/23 04:35:35  ID:S57Ht5Rq0.n(2)
ふつうの処理系だとNULLの値は0では?
ながれしらんが

188
デフォルトの名無しさん (ワッチョイ ff42-W2u1)[]   投稿日:2016/12/23 04:39:13  ID:S57Ht5Rq0.n(2)
NULL ‐ 通信用語の基礎知識

NULLマクロは、stdio.hなどをincludeすると定義される。
NULLポインターは、実装上の制約からアドレスであり、その環境内において、決して他に使用されることのない番地を用いることになる。
したがって、その値は環境によって異なる。
Cでは、移植性に配慮し、これをNULLマクロによって定義した。

0番地
殆どのプロセッサー環境で、そのアドレスは0番地が使われる。
まれに異なる番地を用いるシステムもあるが、Cの規格上、その場合も0番地と可換でなければならない。
結果として、NULLポインターは0と書いておけば、Cコンパイラーが自動的に対応してくれることになっている。

定義Cでは、殆どの環境で次のように定義されている。
#define NULL ((void *)0)
但し、C++ではこの定義をそのまま使えない。
C++はvoid *から他のポインター型に暗黙的な変換をせず、エラーになるからである。
C++では数値の0をNULLポインターとして使うことになったため、C++では次のように定義されている可能性がある。
#define NULL 0
http://www.wdic.org/w/TECH/NULL
コメント2件

189
デフォルトの名無しさん (ワッチョイ 9f7b-ecDe)[sage]   投稿日:2016/12/23 04:44:25  ID:Ptdk1YEU0.n(10)
ポインタに即値を代入することにほとんどの場合は意味はない
唯一の例外が0リテラルを代入する場合であって、この場合は0は空ポインタの糖衣構文とみなされる

要するに>188
>結果として、NULLポインターは0と書いておけば、Cコンパイラーが自動的に対応してくれることになっている。
が正解
コメント2件

190
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 06:43:34  ID:tydkaaKw0.n(12)
>189
> ポインタに即値を代入することにほとんどの場合は意味はない
組み込みだと普通にやってるが?
コメント1件

191
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/23 07:05:11  ID:i6XgFiMY0.n(3)
>190
日本語読めないのかな?
コメント1件

192
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 07:41:23  ID:tydkaaKw0.n(12)
>191
説明してみ
コメント2件

193
デフォルトの名無しさん (アウアウカー Sa5f-GvIT)[sage]   投稿日:2016/12/23 07:51:18  ID:/sFuOyUYa.n
>188
> 定義Cでは、殆どの環境で次のように定義されている。
> #define NULL ((void *)0)
言語規格で空ポインタ定数は0をvoid*に型変換したものと決まっている
規格に準拠している環境は、殆どではなく全て同等の定義だろ

194
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/23 07:59:42  ID:Ptdk1YEU0.n(10)
>192
おそらくポインタ変数に対するI/Oポートマッピングのことを言っているのだろうが、
それは単にポインタ変数の使い方だけの話で、ユーザーが変数の用途として意味づけを
行なっているだけ
C言語の言語仕様として意味を持っているのは、0が空ポインタの意味を持つというのが
ポインタに対する唯一の例外項目
コメント1件

195
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/23 08:22:17  ID:i6XgFiMY0.n(3)
>192
ほとんど の意味が解らないなら辞書引けよ
コメント1件

196
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/23 08:36:51  ID:xv4JdZit0.n
>174
>NULLが0なのはC++
http://www.kouno.jp/home/c_faq/c5.html#5

197
デフォルトの名無しさん (ワッチョイ 233b-4FBo)[sage]   投稿日:2016/12/23 08:39:43  ID:R3LGx2Ye0.n(2)
純粋なC言語使ってるのは ほとんど 組み込みだろうけど。

198
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 08:57:18  ID:tydkaaKw0.n(12)
>194
ごめんマジで言ってることがわからん
unsigned char *p = 0x12345678;
unsigned char d = *p;
に意味があるかどうかの話なんだが、言語仕様に違反してるとでも言うのか?

>195
意味のない代入なんてしてるアホはほとんどいないが? w
コメント1件

199
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/23 09:54:29  ID:Ptdk1YEU0.n(10)
>198
>unsigned char *p = 0x12345678;
これ自体が意味のない代入の典型
宣言済みの変数のアドレスであれば意味があるが、記憶領域のアドレスそのものをリテラル値で与えても
ほとんど意味のある結果は得られない
まあ先に述べたように組み込み用途のメモリマップトI/Oの様なアドレス固定の場合は#pragma疑似命令などで
アドレス指定するケースならあり得る
ただ上記の0x12345678のような意味のない値だと参照先のメモリアドレスの存在そのものが保証できない
コメント1件

200
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 09:58:31  ID:tydkaaKw0.n(12)
>199
#pragma も意味わからんが
> ただ上記の0x12345678のような意味のない値
サンプルの意味もわかってないのかよ w
コメント2件

201
デフォルトの名無しさん (ワッチョイ bf6c-i5Qz)[sage]   投稿日:2016/12/23 10:05:01  ID:jXrWBMcI0.n(2)
>200
即値を入れてもOSあり、MMUありではほとんどはねられてしまう。
0x1234みたいな値をキャストしてポインタとして扱ってそのアドレスに
アクセスできるのは組み込みの世界の話でしょ、ってことだと思うが。
コメント1件

202
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/23 10:10:44  ID:Ptdk1YEU0.n(10)
>200
本当にポインタにリテラル値を代入することの無意味さが理解できていないのか?
あえてリテラル値として代入するのであれば文字列リテラルであれば先頭アドレスとしては有効となるが、
数値のリテラル値を代入するとメモリの不正アクセスで実行時エラー起こすのが関の山だぞ
コメント1件

203
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 10:23:04  ID:tydkaaKw0.n(12)
>201
> アクセスできるのは組み込みの世界の話でしょ、ってことだと思うが。
はなっから組み込みでは
って書いてあるけど?

>202
> あえてリテラル値として代入するのであれば文字列リテラルであれば
それは「即値の代入」とは違う話
てかお前レベル低すぎ
コメント1件

204
デフォルトの名無しさん (ワッチョイ b77b-xrXw)[sage]   投稿日:2016/12/23 10:26:41  ID:f6uWmMmm0.n
16 ビットまでのの CPU なら
メモリーアドレスの絶対値の代入は当たり前だった
MMU な CPU と対応 OS ではやる場面自体がなくなった

205
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/23 10:26:50  ID:Ptdk1YEU0.n(10)
組み込みやっていて#pragma疑似命令を知らないとかあり得ないだろ
というかC言語でまともなプログラム組んだことあるのか?
コメント1件

206
デフォルトの名無しさん (ワッチョイ bf6c-i5Qz)[sage]   投稿日:2016/12/23 10:31:12  ID:jXrWBMcI0.n(2)
>203
だから組み込み以外で語ろうとしても意味ないよねって話
それで終わる
コメント2件

207
デフォルトの名無しさん (ワッチョイ afd2-vX8b)[sage]   投稿日:2016/12/23 11:02:41  ID:x0WLOQ6R0.n
>206
デバイスドライバーとか

208
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 12:24:44  ID:tydkaaKw0.n(12)
>205
> 組み込みやっていて#pragma疑似命令を知らないとかあり得ないだろ
で、#pragma が
> ポインタに即値を代入すること
にどう関係するんだ? w

>206
何を言いたいのかよくわからんが
組み込みなら
> ポインタに即値を代入することにほとんどの場合は意味はない
は間違いってことでいいよね?
コメント1件

209
デフォルトの名無しさん (ワッチョイ 6f5a-i5Qz)[sage]   投稿日:2016/12/23 12:28:52  ID:x0B+xQIa0.n
>208
>組み込みなら
>> ポインタに即値を代入することにほとんどの場合は意味はない
>は間違いってことでいいよね?
それは当たり前。でもここはマイコンのスレじゃないので
一般的には意味がないといわれてもしょうがない。
コメント1件

210
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/23 12:36:29  ID:Ptdk1YEU0.n(10)
組み込み用のコンパイラでは、I/Oポートや割り込みベクタテーブル、内蔵RAM領域などのセクションごとの
割り当て先頭アドレス、スタートアップルーチンのエントリアドレス指定などの初期設定を#pragmaで行なう
先頭アドレス以降の固定アドレスについてはポインタ配列で行なうのが一般的だろ
その場合でも移植性や再利用を考慮してRAMエリアに関しては極力 絶対アドレス指定を避けるのが常識だろ
というか知っていてとぼけているのか?
コメント1件

211
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 12:48:46  ID:tydkaaKw0.n(12)
>209
C言語で組み込みが一般的でない?
なかなか面白い意見だな w

>210
> その場合でも移植性や再利用を考慮してRAMエリアに関しては極力 絶対アドレス指定を避けるのが常識だろ
RAM エリアの話なんて誰もしてないけど?
そもそもアドレスを #define しとくぐらいは常識だし、ボードメーカーからヘッダーファイルで提供されることも多いぞ
ひょっとして
即値 = 数値直書き
とか思ってるのか?

212
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/23 12:51:18  ID:Ptdk1YEU0.n(10)
即値はリテラルと同一視しているな

213
デフォルトの名無しさん (ワッチョイ 9f7b-LLwc)[sage]   投稿日:2016/12/23 12:54:23  ID:Ptdk1YEU0.n(10)
あと#defineでどうやってアドレスを指定するんだよ
#defineはコンパイル時の値の置き換えだけで、コンパイラに対するバイナリの生成アドレスの指定まで出来ないだろ
コメント1件

214
デフォルトの名無しさん (ワッチョイ 374f-i5Qz)[sage]   投稿日:2016/12/23 13:03:25  ID:uHrKWqOK0.n(2)
レスバトルしてるけど
ポインターの指し先を  #pragma で制御する方法もあれば
マクロなりでポインターの指し先を直に代入することもあれば
インラインアセンブラでごりごりすいることもあれば
環境が適合してて、記述と動作が意図したとおりになってるならそれでいいや

215
デフォルトの名無しさん (ブーイモ MM3f-rd4d)[]   投稿日:2016/12/23 13:11:07  ID:0Ly89bEjM.n(2)

216
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 13:28:47  ID:tydkaaKw0.n(12)
>213
なんか必死にセクションの話に持っていきたいみたいだが、ポートアドレスとかの話だからな

217
デフォルトの名無しさん (ワッチョイ 9f7b-ecDe)[sage]   投稿日:2016/12/23 13:44:23  ID:Ptdk1YEU0.n(10)
もう疲れたわ
とりあえず元に戻って、>189で言った通り
「ポインタのアドレスで特別な意味を持つのは0リテラルだけでこれは空ポインタのシンタックスシュガーである」
これだけでもういいよ

218
デフォルトの名無しさん (ワンミングク MM5f-DNID)[sage]   投稿日:2016/12/23 13:47:00  ID:qrHoZZWXM.n
ナルポ

219
デフォルトの名無しさん (ワッチョイ 7f5b-agOw)[]   投稿日:2016/12/23 13:55:25  ID:lJhRFWoH0.n
まぁ組込屋ならアドレス操作に関しては譲れないだろう
とことん争うべき。
コメント1件

220
デフォルトの名無しさん (ドコグロ MM1f-PK0Z)[sage]   投稿日:2016/12/23 14:06:35  ID:VjYtccRDM.n
>219
#pragma とか言い出すような知ったか君を苛めるなよ

221
デフォルトの名無しさん (アウアウカー Sa5f-GvIT)[sage]   投稿日:2016/12/23 14:26:08  ID:AC5C5wbVa.n
規格外で良いならposixのMAP_FAILEDは特別な意味を持つな
これもポインタに即値代入するケースか
コメント1件

222
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 15:23:46  ID:tydkaaKw0.n(12)
>221
MAP_FIXED のことか?
コメント1件

223
デフォルトの名無しさん (エーイモ SEff-cm93)[sage]   投稿日:2016/12/23 17:18:18  ID:Nly1KFTtE.n
指定した位置の文字をヌル文字に変更したいんですが
例えば先頭の文字をヌル文字に置換するためにこういう風に書くと何も表示されなくなりました
どうやって置換するんでしょうか?

#include <stdio.h>

int main()
{
char name[3] = "abc";
name[0] = '\0';
printf("%s", name);

return 0;
}
コメント3件

224
デフォルトの名無しさん (アウアウカー Sa5f-GvIT)[sage]   投稿日:2016/12/23 17:31:00  ID:iWTFjrQCa.n
>222
mmap失敗時の返り値
コメント1件

225
デフォルトの名無しさん (ワッチョイ 0f9b-uRrA)[sage]   投稿日:2016/12/23 17:31:00  ID:XErTRk4H0.n(2)
何が表示されて欲しいのか

" bc"と表示されて欲しいなら、スペースを入れればいい
char name[4] = "abc";
name[0] = ' ';
コメント1件

226
デフォルトの名無しさん (ワッチョイ 374f-i5Qz)[sage]   投稿日:2016/12/23 17:31:29  ID:uHrKWqOK0.n(2)
%s は 頭から \0が見つかったら表示を打ち切る
だから name[0] = '\0' の代入を実施すると 表示はそこで打ち切られる=何も表示しない

printf("[%c][%c][%c]", name[0], name[1], name[2]);

227
デフォルトの名無しさん (ブーイモ MM3f-rd4d)[sage]   投稿日:2016/12/23 17:32:23  ID:0Ly89bEjM.n(2)
Cの文字列は'\0'終端なんだから当然
name[1]='\0';ならaが表示されるだろ

228
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KKdf-t2A3)[sage]   投稿日:2016/12/23 17:33:50  ID:3xdKhrkhK.n(2)
>223
C文字列はヌル文字を文字列の終端として解釈される。
つまり、ヌル文字があったら、そこで文字列の終わりと見なされる。
確認したいなら一文字ずつスキャンするか、ヌル文字の後のアドレスを指定する。

229
デフォルトの名無しさん (ドコグロ MM1f-PK0Z)[sage]   投稿日:2016/12/23 17:35:48  ID:LZUt3xBXM.n
>224
意味わからん...

230
デフォルトの名無しさん (アウアウイー Sa4f-T2iK)[sage]   投稿日:2016/12/23 17:39:23  ID:3aRx8Kt+a.n
当然とは言うが文字列をナル文字で終了させないプログラマーは割といてだな…勘弁してほしい
コメント1件

231
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK6f-t2A3)[sage]   投稿日:2016/12/23 17:42:56  ID:3xdKhrkhK.n(2)
ちなみに、C++文字列(std::string)は、長さのデータを持っていて、ヌル文字を含むバイナリーデータを格納できる。

232
デフォルトの名無しさん (ワッチョイ 6717-g1cW)[sage]   投稿日:2016/12/23 17:55:32  ID:sMdCo7/p0.n
fwrite() を使えと誰も言わないのは休日ゆえか

233
デフォルトの名無しさん (ワッチョイ 633c-i5Qz)[sage]   投稿日:2016/12/23 18:18:02  ID:te4/+lr90.n
>230
バッファサイズを渡して、そのサイズ内で打ち切る系は
\0 を含んでバッファ内に収めるのか
\0 を含まずにバッファ内に収めるかで変わってくるねー

234
デフォルトの名無しさん (ワッチョイ 7bdc-aVNS)[sage]   投稿日:2016/12/23 19:51:00  ID:RXSiKULR0.n
>223 の質問の本筋とは関係ないことだけど、
char name[3] = "abc"; // 文字列の格納先としては配列の要素が不足
という間違いを

>225 の回答では何の説明もなく
char name[4] = "abc"; // 終端の'\0'の分まで配列を確保
と当然のごとく修正してるのがちょっと面白い。
コメント1件

235
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 20:09:49  ID:tydkaaKw0.n(12)
>234
> という間違いを
勝手に間違いにするなよ w
そもそもそういう風に修正するなら
char name[] = "abc";
の方がいいと思うぞ

236
デフォルトの名無しさん (ワッチョイ 03e7-zpPG)[sage]   投稿日:2016/12/23 20:28:16  ID:OyCrFhmq0.n
いや、間違いだろ
直後にprintfで%s使ってる以上、文字列として扱わないかもしれないとかいう逃げ道もないし
まさにNULL終端を理解してないのがやらかす典型以外の何物でもない
コメント1件

237
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/23 20:33:12  ID:kORjsFtN0.n(4)
移植性の話が飛び出して#pragmaが出て来る謎
#pragma自体がコンパイラ依存の移植性が無いものなんだが

238
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 20:48:02  ID:tydkaaKw0.n(12)
>236
>223 が何をやりたかったのかは不明だが
> name[0] = '\0';
ってやってるから規格上間違いなんて無いんだが?
コメント1件

239
デフォルトの名無しさん (ワッチョイ 0f9b-uRrA)[sage]   投稿日:2016/12/23 21:35:50  ID:XErTRk4H0.n(2)
>238
" bc"と表示させたい場合は問題になるからね
説明を端折ったのは悪かった
コメント2件

240
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/23 21:38:34  ID:tydkaaKw0.n(12)
>239
> " bc"と表示させたい場合は
だからそんな仮定を勝手に置いて語るなよ
って話

241
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/23 22:15:09  ID:kORjsFtN0.n(4)
>" bc"と表示させたい場合は
printf("%s", name + 1);

242
デフォルトの名無しさん (アウアウカー Sa5f-GvIT)[sage]   投稿日:2016/12/23 22:50:58  ID:2lE868uqa.n
>239
精度指定で出力を2byteに制限すれば、問題にならないけど?

243
デフォルトの名無しさん (ワッチョイ f742-g1cW)[sage]   投稿日:2016/12/23 22:56:31  ID:N7+vTzlD0.n
printf(" %s", name + 1);

244
デフォルトの名無しさん (ワッチョイ 377b-3tOZ)[]   投稿日:2016/12/23 23:38:23  ID:kZ6vwWWk0.n(2)
>183
バカにはわからないようだが、初期化するにはそのための初期化データが必須
その分オブジェクトが肥大する
コメント1件

245
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/23 23:51:06  ID:kORjsFtN0.n(4)
> 指定した位置の文字をヌル文字に変更したいんですが
もしかして、
指定した位置の文字を半角空白文字にとして表示したいんですが
の間違い???
だとしたらそもそもの質問が間違えてるのだから的を得ない解答が返ってきても仕方がない話

246
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/23 23:58:32  ID:kORjsFtN0.n(4)
グローバル変数でもゼロ初期化前提でコーディングするのは行儀が悪いコーディングだな
Cでは静的初期化でも動的初期化でも、変数にアクセスする際は必ず初期化するべし
コメント1件

247
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 00:04:06  ID:13QAQt3w0.n(9)
>244
実際にやってみろよ0で初期化を。
コメント1件

248
デフォルトの名無しさん (ワッチョイ 7f5b-agOw)[]   投稿日:2016/12/24 00:19:10  ID:R0w0jZmS0.n(3)
宣言時に必要の無い初期化をしても意味が無い。
無駄な処理
コメント2件

249
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/24 00:21:05  ID:1i4c8FXF0.n
宣言時に必要の無い初期化は宣言時にする必要はない
しかしアクセス前には必ず初期化はすることグローバル変数でも
コメント1件

250
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 00:23:33  ID:13QAQt3w0.n(9)
>248
お前 ID:kZ6vwWWk0 ?
だったら主張変わってるけど?

251
デフォルトの名無しさん (ワッチョイ 7f5b-agOw)[]   投稿日:2016/12/24 00:25:21  ID:R0w0jZmS0.n(3)
勘ぐり過ぎ
コメント1件

252
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 00:28:57  ID:13QAQt3w0.n(9)
>251
じゃあ関係ない話横から突っ込まないでくれる?

253
デフォルトの名無しさん (ワッチョイ 7f5b-agOw)[]   投稿日:2016/12/24 00:32:14  ID:R0w0jZmS0.n(3)
>246
>248
>249

の話だ。 病院行ったが良いぞ

254
デフォルトの名無しさん (ワンミングク MM5f-DNID)[sage]   投稿日:2016/12/24 00:36:45  ID:kPI05Gb3M.n(2)
変数の配置セグメントBSS か DATA か?なんて環境によるだろうに

255
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 00:43:03  ID:13QAQt3w0.n(9)
どこに配置されようがローカル変数意外は0で初期化されることが規格で保証されている。

256
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 02:44:39  ID:13QAQt3w0.n(9)
非ローカル変数を0で初期化するコードを書いても書かなくても生成されるコードに違いはない余程のマヌケなコンパイラじゃない限りな。

非ローカル変数に初期化書かないポリシーだというなら別にそれで構わん、
それが癖になってローカル変数で初期化忘れたとか、それを中途半端に真似した初心者とかが未定義動作踏もうが、それはお前の責任だ。

しかし、間違った理由、もしくはお前の環境ローカルの常識で書かない事を強制させるような事を言うのは止めろ。

257
デフォルトの名無しさん (ワッチョイ 0f3c-i5Qz)[sage]   投稿日:2016/12/24 05:25:54  ID:HU8wPv9h0.n(2)
whileの行で「宣言が正しく終了していない」とエラーが出てしまいます
ループさせる文もおそらくうまくいかないと思われます
疑似言語をC言語化しようとしてるんですが
購入[K[.品番=対象[T].品番
という購入と対象という2つの異なる配列の配列品番や配列数量を
分岐させたり代入させたりしたいです
何かわかりづらくなりましたが要するにいくつも項目が並んでる表を操作したいわけです
疑似言語をC言語化すること自体無理なんでしょうか?

while(K>0,T<=taishougyousu){
if(sinaban[kounyu[K]]=sinaban[taishou[T]]){
};
suryou[taishou[T]]=suryou[kounyu[K]];
K=ptr[K];
T=T+1;
if(sinaban[kounyu[K]]<sinaban[taishou[T]])
K=ptr[K];
else
T=T+1;
}

258
デフォルトの名無しさん (ワッチョイ 633c-i5Qz)[sage]   投稿日:2016/12/24 05:33:12  ID:y7L7nGQ60.n(2)
while よりの前の記述がおかしいだけだと思うけど
} が足りないとか ) が足りないとか ; が足りないとか そういう類のミス

http://codepad.org/R7TdNtU5
コメント1件

259
257 (ワッチョイ 0f3c-i5Qz)[sage]   投稿日:2016/12/24 06:07:13  ID:HU8wPv9h0.n(2)
レスありがとうございます
教えていただいた構文でも同じエラーが出るみたいなので
おそらくはwhileで論理積を使った2つの条件指定か
if(sinaban[kounyu[K]]=sinaban[taishou[T]]){
};
あたりの二重の[ ]が無理だと思われます
なのでかなり崩した構文を書かないと疑似言語をC言語化できないと考えます

260
デフォルトの名無しさん (ワッチョイ 633c-i5Qz)[sage]   投稿日:2016/12/24 06:20:49  ID:y7L7nGQ60.n(2)
2重の[] は関係ないし 普通に使えるし
Cの文法学びなおしな
コメント1件

261
デフォルトの名無しさん (ワッチョイ 7bdc-aVNS)[sage]   投稿日:2016/12/24 07:32:09  ID:0UyY/BKM0.n
「宣言が正しく終了していない」ってエラーメッセージが怪しい。
>258 の言う通り、whileの直前の行で変数を宣言してて
そっちの行末に ; をつけ忘れたとかの定番パターンだと思う。

ところで while の条件 (K>0,T<=taishougyousu) だけど、
「Kが0より大きい、かつ、Tがtaishougyousu以下」という意図なら
カンマ演算子でなく論理積 && を使うべきところだね。
while (K>0 && T<=taishougyousu) ...
文法的にはエラーじゃないせいで見落としやすいかと、あえて指摘させてもらう。
コメント1件

262
デフォルトの名無しさん (ブーイモ MM3f-AvAH)[sage]   投稿日:2016/12/24 07:43:22  ID:+wOpvYJrM.n(2)
whileの{}とif(shin...の{}がオーバーラップしてんな
意図が分からない
コメント2件

263
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/24 07:44:23  ID:XrRMaYjq0.n(2)
>247
だから馬鹿にはわからない,といっているだろう?しつこいな
コメント1件

264
デフォルトの名無しさん (ブーイモ MM3f-AvAH)[sage]   投稿日:2016/12/24 08:04:35  ID:+wOpvYJrM.n(2)
まだやってんのかよ
・規格では静的変数はゼロ初期化が保証されてる
・だが初期値を書いた方が品がよいとされる。組込など省略される場合もあるので
・まともなコンパイラなら0初期値入れても最適化するからコードは増えない
コンパイルしたコード見りゃわかるだろ

265
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/24 08:52:08  ID:dPbQS77J0.n(2)
> while(K>0,T<=taishougyousu){
みたいに無理矢理一行に納めたがる(しかもたぶん意図と違う)とか
> };
のような無駄な ; が入っていても平気な人にはCは向いてないと思う
コメント1件

266
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 09:11:12  ID:13QAQt3w0.n(9)
>263
ほんと馬鹿には解らないってご自分で証明してくれてありがとうございます

267
デフォルトの名無しさん (ワンミングク MM5f-DNID)[sage]   投稿日:2016/12/24 09:23:24  ID:kPI05Gb3M.n(2)
FEED C0DE

268
デフォルトの名無しさん (ワッチョイ f719-8bDS)[sage]   投稿日:2016/12/24 10:08:41  ID:RCbQY4X80.n
以後罵り合いが終わるまでこちらで

C言語なら俺たちに聞け パート0001
http://echo.2ch.net/test/read.cgi/tech/1341648926/

269
デフォルトの名無しさん (ワッチョイ 13a5-PUH/)[sage]   投稿日:2016/12/24 11:29:52  ID:Bp2kWppi0.n
色々経験すると、それぞれ言ってることは分かるんだけどね。
コメント1件

270
デフォルトの名無しさん (ワッチョイ 8f13-i5Qz)[sage]   投稿日:2016/12/24 15:04:56  ID:XrRMaYjq0.n(2)
>269
うんわかる
オブジェクトコードまで視点が到達している人
規格には書かれていないことだと喝破できる人
さまざまだね

271
デフォルトの名無しさん (アウアウカー Sa4f-6FRj)[sage]   投稿日:2016/12/24 16:14:51  ID:1LCBxinAa.n
グローバル変数は初期化してもしなくてもオブジェクトサイズ変わんないでしょ?コンパイラとリンカで配置されるときに0クリアされるか値を指定されるかの違いだけで。
コメント2件

272
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 16:27:26  ID:13QAQt3w0.n(9)
>271
0で初期化するかそれ以外の値で初期化するかでサイズは変わる。
バカには理解出来ないみたいだけど
コメント1件

273
デフォルトの名無しさん (ワッチョイ 837b-DNID)[sage]   投稿日:2016/12/24 16:28:07  ID:DNE92dFu0.n
BSSはプログラムローディング時にOSが割り当てる
DATAはリンク時に初期値が確定する。
VCだとデバッグビルドの時は0初期化されているが、リリース版で
保障されている訳ではない

ちなみにFE ED C0 DE は OS-9/680x0 がアプリケーションに
メモリを割り当てした時にパディングするパターン。
WINDOWSにも独自のパターンがあるので調べてちょ

COFFの資料
http://www.delorie.com/djgpp/doc/coff/scnhdr.html
コメント1件

274
デフォルトの名無しさん (ワッチョイ f742-g1cW)[sage]   投稿日:2016/12/24 16:42:54  ID:n3Z74Q5b0.n
>272
グローバル変数って、0でするのと0以外でするので、オブジェクトサイズが変わるんですか?
サイズが変わるってことはsizeof使って分かりますか?
コメント1件

275
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/24 16:48:29  ID:13QAQt3w0.n(9)
>274
流れからオブジェクトサイズというのはオブジェクトファイルのサイズの事を差してると解釈して言ったんだが(それ以外の話は出てきてない)お前は多分違う解釈してる。
オブジェクトファイルのサイズは生成されたコードのファイルのサイズ見れば解る

276
デフォルトの名無しさん (ワッチョイ 6b7b-zpPG)[]   投稿日:2016/12/24 16:58:36  ID:13QAQt3w0.n(9)
>273

Cの規格

5.1.2 Execution environments

All objects with static storage duration shall be initialized (set to their
initial values) before program startup.


初期値で初期化されることが規格で保証されてんの。

277
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/24 17:25:34  ID:dPbQS77J0.n(2)
>271
変わるかどうかは処理系やコンパイルオプションによる

278
デフォルトの名無しさん (アウアウカー Sa5f-GvIT)[sage]   投稿日:2016/12/24 17:45:51  ID:AF3lgZMka.n
6.9.2 外部オブジェクト定義

翻訳単位が,ある識別子に対する仮定義を一つ以上含み,かつその識別子に対する外部定義を含まない場合,その翻訳単位に,翻訳単位の終わりの時点での合成型,及び 0 に等しい初期化子をもったその識別子のファイル有効範囲の宣言がある場合と同じ規則で動作する。

0で初期化するのと同じ規則で動作する、以外に規定はない。
仮定義を持たないために0でも必ず初期化するっていうのは、間違ってないと思う。

279
257 (ワッチョイ 0f3c-i5Qz)[sage]   投稿日:2016/12/25 03:22:34  ID:2jcHOLGG0.n
>260
かなり時間がかかりましたが二重の[]でもエラーはなくなりました

>261
{ と }の位置がおかしかったですね。あと最初の#で始まる関数の宣言が
おかしかったのとintで始まる配列の宣言がかなり足りなかったですね
&&は確かにその通りでカンマだと後者の条件を優先するループになるのかな

>262
ifので条件がNOの方に分岐したところにまたifで分岐を作ろうとしたんですけど
あまり上手くいってません

>265
いったい学生の頃をどこまで思い出せばいいのか。全部思い出すわけにはいかないし
C言語はほどほどにしておこうと思っています
コメント1件

280
デフォルトの名無しさん (ワッチョイ 0f7b-Ao4e)[sage]   投稿日:2016/12/25 10:17:44  ID:A+32p0u30.n
なんでオブジェクトファイルの話なのにだれも実際のアセンブリで比較しようとしないの?
コメント2件

281
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/25 10:18:09  ID:UjprWodd0.n(2)
>280
したいならすれば?

282
デフォルトの名無しさん (ワッチョイ 837b-DNID)[sage]   投稿日:2016/12/25 12:14:17  ID:6QEq7FnE0.n(3)
無駄

283
デフォルトの名無しさん (アウアウカー Sa5f-GvIT)[sage]   投稿日:2016/12/25 12:20:44  ID:/KLlwacta.n
>280
規格の話をするのに処理系の実装は関係ないからな
常に一致するとまで言うつもりはないし、サイズの変わる処理系の存在も否定しない

個人的には、数十バイトを気にするような開発してないからどうでも良いわ

284
デフォルトの名無しさん (ワッチョイ 6b7b-TSM7)[]   投稿日:2016/12/25 12:21:33  ID:UjprWodd0.n(2)
自分が間違ってた事を認識したら逃げるんじゃなくてちゃんとごめんなさいしてほしいよね。
バカには出来ないだろうけど。

285
デフォルトの名無しさん (ワッチョイ d37b-jVSv)[sage]   投稿日:2016/12/25 12:40:31  ID:/8TRU5/W0.n
>279
疑似コードのほうを晒すとすんなり回答が得られると思うよ
コメント1件

286
デフォルトの名無しさん (ワッチョイ b719-tuBs)[sage]   投稿日:2016/12/25 21:35:19  ID:JV5w786K0.n(2)
モジュールAからモジュールBにデータ(変数値)を引き渡す際に、
モジュールAの処理の中でモジュールBの関数(当該データを引数として実行する関数)を実装する(実装1)のと、
モジュールBの処理の中でモジュールAの関数(当該データをポインタで渡す関数)を実際する(実装2)のとで、
メリデメがあるものでしょうか?
コメント2件

287
デフォルトの名無しさん (ワッチョイ 837b-DNID)[sage]   投稿日:2016/12/25 21:43:47  ID:6QEq7FnE0.n(3)
スタックに積むコスト分は違うな
8086のLモデルならセグメントオーバーライドのペナルティーも
発生するな
コメント1件

288
デフォルトの名無しさん (ワッチョイ b719-tuBs)[sage]   投稿日:2016/12/25 21:49:52  ID:JV5w786K0.n(2)
>287
すみません、理解できなかったのでもう少し詳細まで教えて頂けると助かります、、
対象としているシステムは組み込み系ですがx86系の話でも構いません

289
デフォルトの名無しさん (ワッチョイ 837b-DNID)[sage]   投稿日:2016/12/25 23:07:36  ID:6QEq7FnE0.n(3)
例えばSuperHは
16ビット幅固定命令なので、32bitの値をイミディエイトでは生成
出来ないのでどこかに置く。置いた場所が±255以内になければ更にオーバーヘッドがかかる。実行時に邪魔になるので余分なjumpも入る。
ポインタで渡せばコストは想定可能。こちらの方が軽い場合が多い。

290
デフォルトの名無しさん (ワッチョイ 3f3c-PK0Z)[sage]   投稿日:2016/12/26 00:28:50  ID:8ctcDGWr0.n
>286
モジュールって言うのが関数なのかなんなのかよくわからん

> モジュールAからモジュールBにデータ(変数値)を引き渡す際に
と言うのは A から B を呼び出してるように思うから

> モジュールAの処理の中でモジュールBの関数(当該データを引数として実行する関数)を実装する(実装1)のと
は理解できるけど

> モジュールBの処理の中でモジュールAの関数(当該データをポインタで渡す関数)を実際する(実装2)のとで
はどう言うことなのかよくわからん

291
デフォルトの名無しさん (ワッチョイ ef9f-h9rX)[sage]   投稿日:2016/12/26 01:04:31  ID:9Yo0yJt10.n
俺なんかC言語で関数内関数を実装?JITってやつか?ってとこで躓いた

292
デフォルトの名無しさん (ブーイモ MM3f-AvAH)[sage]   投稿日:2016/12/26 01:34:55  ID:elmy+i1AM.n
案1
Axx(){
Bxx(data);
}
案2
Bxx(){
data = Axx();
}
ってことじゃねーのかな?
正直好きにしろとしか

293
デフォルトの名無しさん (ワッチョイ 6f68-YPDL)[sage]   投稿日:2016/12/26 10:50:12  ID:+6Dna25w0.n
>286
Aに実装する場合はAがB依存になる
Bに実装する場合はBがA依存
Aが汎用的なモジュールならAに実装はしないかな俺なら

294
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/26 11:02:36  ID:xO25f93t0.n
データは互いに疎結合の関係がよいよ
密結合だと後々の変更に耐えられなくなる

295
デフォルトの名無しさん (ワッチョイ 13a5-PUH/)[sage]   投稿日:2016/12/26 22:41:47  ID:xttRzHTo0.n
そうしたい気持ちは山々なのだが。

296
デフォルトの名無しさん (ワッチョイ a74e-qjDb)[sage]   投稿日:2016/12/26 23:38:50  ID:i5XrEMUf0.n
案1
Axx(){
 Bxx(data);
}

案2
Bxx(){
 Axx(&data);
}

って言ってるように読めるのだが違う気もする・・
コメント1件

297
デフォルトの名無しさん (ワッチョイ 6f68-YPDL)[sage]   投稿日:2016/12/27 01:41:47  ID:FYrmtqZh0.n
>296ならこうか?
http://ideone.com/1Q9xPZ
やはりモジュール間の依存方向の違いぐらいじゃまいか?

298
257 (ワッチョイ 0f3c-i5Qz)[sage]   投稿日:2016/12/27 05:09:12  ID:32lhYaDn0.n(3)
>262
一度目のelseつまり一度目の分岐でNOに行く部分が上手くいってません
「elseの位置が誤っている」とエラーが出てしまいます
二度目のelseは上手く機能したのになぜでしょうか

while(K>0 && T<=taishougyousu){
if(sinaban[kounyu[K]]=taishousinaban[taishou[T]])
taishousuryou[taishou[T]]=suryou[kounyu[K]];
K=ptr[K];
T=T+1;
else
if(sinaban[kounyu[K]]<taishousinaban[taishou[T]])
K=ptr[K];
else
T=T+1;

}
>285
疑似言語だと
■(K>0)and(T<=対象行数
|▲購入[K].品番=対象[T].品番
||・対象[T].数量←購入[K].数量
||・K←購入[K].ptr
||・T←T+1
|──                 ←この分岐のNOを現わすelseでエラー
||▲購入[K].品番=対象[T].品番
|||・K←購入[K].ptr
||──
|||・T←T+1
||▼
|▼

コメント1件

299
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KKdf-t2A3)[sage]   投稿日:2016/12/27 05:12:59  ID:GaV38g+FK.n(4)
>298
{ } で囲む。

300
デフォルトの名無しさん (ワッチョイ 0f3c-i5Qz)[sage]   投稿日:2016/12/27 06:29:20  ID:32lhYaDn0.n(3)
{ }で囲むとエラーは出なくなりました
しかしelseの分岐が無視されifで指定した条件を満たしてなくても
条件がyesの方の文が実行されます。その後はwhileのループに戻ります
elseとelse ifどっちも試してみましたがどうしても条件がNOの文に飛んでくれません
ググってもC言語の本を読んでも分かりません。諦めた方がいいでしょうか

301
デフォルトの名無しさん (ワッチョイ 0f9b-uRrA)[sage]   投稿日:2016/12/27 06:35:04  ID:Z7RkHQtm0.n(2)
代入(=)じゃなくて比較(==)すべきなんじゃ?

302
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK6f-t2A3)[sage]   投稿日:2016/12/27 06:36:09  ID:GaV38g+FK.n(4)
if(sinaban[kounyu[K]]=taishous

代入になってる。=と==は間違いやすいから気をつけよう。

303
デフォルトの名無しさん (ワッチョイ 2703-T2iK)[sage]   投稿日:2016/12/27 06:37:09  ID:gKIG9FI00.n
==とかじゃなくて?

304
デフォルトの名無しさん (ワッチョイ 0f3c-i5Qz)[sage]   投稿日:2016/12/27 06:44:49  ID:32lhYaDn0.n(3)
ありがとうございます。==にしたら無事に動きました

1行にこんなに時間がかかるなんてC言語は難しいですね

305
デフォルトの名無しさん (ドコグロ MMdf-BQyC)[sage]   投稿日:2016/12/27 08:19:35  ID:CVPZfFKkM.n(2)
みんなの疑問:
なぜにわざわざ自分からめんどくさい言語を選んで文句言うかなぁ...

306
デフォルトの名無しさん (ワッチョイ 374f-i5Qz)[sage]   投稿日:2016/12/27 09:02:08  ID:JGKzPuHu0.n(3)
分かってないのに手を出して火傷

307
デフォルトの名無しさん (ワッチョイ 0f9b-uRrA)[sage]   投稿日:2016/12/27 09:29:18  ID:Z7RkHQtm0.n(2)
慣れの問題でしょ
ifで代入は教科書の定番になるくらいのミスだし
コメント2件

308
デフォルトの名無しさん (オッペケ Sr6f-vX8b)[sage]   投稿日:2016/12/27 12:11:00  ID:GZlBMBhCr.n
>307
ワーニング出るから、普通、気づくだろうにな。

309
デフォルトの名無しさん (アウアウカー Sa3f-T2iK)[sage]   投稿日:2016/12/27 12:13:48  ID:z54J35DFa.n
代入に=を使ったのはなんでなんだろうな
=は比較のときに使うかもとは思わなかったのか
「やっべー=は代入に使っちまったよ。修正めんどいから比較は==でいいか」的な軽さを感じる

310
デフォルトの名無しさん (ワッチョイ f719-8bDS)[sage]   投稿日:2016/12/27 12:34:08  ID:ROG9Kex30.n
Fortranからの引継ぎらしいな。
Pascalは:=が代入らしい。

311
デフォルトの名無しさん (ワントンキン MM3f-5BdW)[]   投稿日:2016/12/27 12:34:45  ID:AOY0qlPhM.n(3)
もしかして==ってCだけ?
おれCから入ったからなんの違和感もないけど
コメント1件

312
デフォルトの名無しさん (ワントンキン MM3f-5BdW)[]   投稿日:2016/12/27 12:37:18  ID:AOY0qlPhM.n(3)
それか!

313
デフォルトの名無しさん (ブーイモ MMaf-XloP)[]   投稿日:2016/12/27 12:40:30  ID:ubQxao/9M.n
>311
java も js も perl も C# やろ。

314
デフォルトの名無しさん (ドコグロ MM7f-l7jk)[sage]   投稿日:2016/12/27 12:44:41  ID:oa8lMfe3M.n
イコール記号は数学しか知らない人には比較演算子にしか見えないだろうね
その点はPASCALの:=とかBASICのLETが省略されてるという文法の方が分かりやすい
でも=と==を間違える人なんていないし、たいした問題じゃないな

315
デフォルトの名無しさん (ワッチョイ 9f7b-ecDe)[sage]   投稿日:2016/12/27 12:46:42  ID:jF9jTMAt0.n

316
デフォルトの名無しさん (ドコグロ MMdf-BQyC)[sage]   投稿日:2016/12/27 12:56:13  ID:CVPZfFKkM.n(2)
>307
慣れで解決するならコーディングミスの半分はなくなると思う

317
デフォルトの名無しさん (JP 0Hbf-i5Qz)[sage]   投稿日:2016/12/27 13:43:58  ID:gmRiJ4C2H.n
文字列から、Aのみを抜き出すにはどうすればいい?
#include <stdio.h>しか使ってはいけない・・・
コメント2件

318
デフォルトの名無しさん (ワッチョイ 374f-i5Qz)[sage]   投稿日:2016/12/27 14:40:15  ID:JGKzPuHu0.n(3)
void foo(const char* str)
{

319
デフォルトの名無しさん (ワントンキン MM3f-5BdW)[]   投稿日:2016/12/27 14:41:39  ID:AOY0qlPhM.n(3)
strstr使えないなら
forで回してstrncmpとか?

320
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK6f-t2A3)[sage]   投稿日:2016/12/27 15:27:16  ID:GaV38g+FK.n(4)
>317
文字列を配列のように一文字ずつスキャンして、'A'があれば出力する。

321
デフォルトの名無しさん (ワッチョイ 374f-i5Qz)[sage]   投稿日:2016/12/27 15:33:57  ID:JGKzPuHu0.n(3)
for ( ; *str; str++) { if (*str == 'A') printf("Aみつかった\n"); }

322
デフォルトの名無しさん (ガラプー KKdf-t2A3)[sage]   投稿日:2016/12/27 16:03:47  ID:GaV38g+FK.n(4)
品番はしなばんでもひんばんでもOKか

323
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/27 17:00:28  ID:LWrh44QV0.n(4)
言語の記法、文法、構文に目を通さないで
いきなり書きつらって動かないとか
初歩中の初歩の初心者以下の質問ばかり
リファレンス見ろよで終わる話

324
デフォルトの名無しさん (ワッチョイ 675b-ny8H)[]   投稿日:2016/12/27 17:06:13  ID:W9hRCVzT0.n
スレチですがRで性別の列に男性だったら0女性だったら1を当てはめたい時どうすればよいのですか?

325
デフォルトの名無しさん (ブーイモ MM3f-rd4d)[sage]   投稿日:2016/12/27 17:28:08  ID:xkC8dUFKM.n
ああん?Rのスレは別にあるぜ?何が目的よ?
ヒント
> x <- c("おす","メス","メス","おす")
> x[which(x == "おす")] <- 0
> x
[1] "0" "メス" "メス" "0"

326
デフォルトの名無しさん (ワッチョイ cfc2-97H3)[sage]   投稿日:2016/12/27 18:20:51  ID:5xUcSPz40.n
ラニマル文字を画面に出力したいのですが、
どうやればいいんですか?
OSはWindowsです。

327
デフォルトの名無しさん (ワッチョイ 0fc1-g1cW)[sage]   投稿日:2016/12/27 19:45:32  ID:QDHa6Y2K0.n
http://katahiromz.web.fc2.com/ranimal/index.html
JISやISOに登録されてるの?

328
デフォルトの名無しさん (アウアウカー Sa5f-6FRj)[sage]   投稿日:2016/12/27 20:46:01  ID:Hi68lG1ma.n
unicode使えばできる
https://ideone.com/o1UT3m

コマンドプロンプトに出力するなら設定変えなきゃいけないようだけど

329
デフォルトの名無しさん (ワッチョイ ef9f-h9rX)[sage]   投稿日:2016/12/27 20:51:52  ID:HWF0hvOB0.n
printf("ラ゚リ゚ル゚レ゚ロ゚");

330
デフォルトの名無しさん (ブーイモ MM3f-AvAH)[sage]   投稿日:2016/12/27 21:03:02  ID:Nm37omeWM.n
ら?K

331
デフォルトの名無しさん (ドコグロ MM3f-pGfi)[sage]   投稿日:2016/12/27 22:03:40  ID:G3hy1KS4M.n
>317
Aのみを抜き出したら、結果はAだろ。

332
デフォルトの名無しさん (ワッチョイ 7f5b-agOw)[sage]   投稿日:2016/12/27 22:35:32  ID:KYIhPrn60.n
BAKAYAROU

BKYROU

にするって事じゃねえのか。
コメント1件

333
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/27 22:53:06  ID:LWrh44QV0.n(4)
#include <stdio.h>

int main(int argc, char **argv) {
char src[10] = "BAKAYAROU";
char dst[10];
char *p_src, *p_dst;

p_src = src;
p_dst = dst;

while (*p_src != '\0') {
if (*p_src != 'A') {
*p_dst++ = *p_src;
}
p_src++;
}

puts(dst);

return 0;
}

334
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/27 22:57:33  ID:LWrh44QV0.n(4)
バグ修正
puts()の前に「*p_dst = '\0';」を入れて下さい。

335
デフォルトの名無しさん (ワッチョイ d37b-jVSv)[sage]   投稿日:2016/12/27 23:11:47  ID:dJApz5DA0.n
do-while使えばいいのに
最短の文字列は\0のみ、つまり1文字は必ずあるのだよ
当然終端されてない不完全な文字列は除く

336
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/27 23:41:53  ID:LWrh44QV0.n(4)
do-whileバージョンに改変
#include <stdio.h>

int main(int argc, char **argv) {
char src[10] = "BAKAYAROU";
char dst[10];
char *p_src, *p_dst;

p_src = src;
p_dst = dst;

do {
if (*p_src != 'A') {
*p_dst++ = *p_src;
}
} while (*p_src++ != '\0');

puts(dst);

return 0;
}

337
デフォルトの名無しさん (ドコグロ MM1f-BQyC)[sage]   投稿日:2016/12/28 07:17:18  ID:taDaNIJQM.n
>332
それなら 'A' を抜き取るとか取り去るって言ってほしいな

338
デフォルトの名無しさん (ワッチョイ 233b-pGfi)[sage]   投稿日:2016/12/28 08:09:06  ID:JN8lj6g40.n
ファイルに書き出したい!
別の文字列も試したい!

ってか、I/O は別にするんじゃないの?

339
デフォルトの名無しさん (ワッチョイ 374f-i5Qz)[sage]   投稿日:2016/12/28 08:27:04  ID:Dwxz1rif0.n
#include <stdio.h>
int main(int argc, char **argv) {
int ch;
while ((ch = getchar()) != EOF) { if (ch != 'A') putchar(ch); }
return 0;
}

ファイルけの入出力はリダイレクトで

340
デフォルトの名無しさん (ワッチョイ 7bdc-aVNS)[sage]   投稿日:2016/12/28 17:05:52  ID:Py23AHJA0.n
なんとなく宿題の手伝いをさせられてる気がするんだが。

341
デフォルトの名無しさん (ワッチョイ df17-g1cW)[sage]   投稿日:2016/12/28 22:26:32  ID:6NcUzOVy0.n
だね

342
デフォルトの名無しさん (ワッチョイ de5b-BD8y)[sage]   投稿日:2016/12/29 07:47:06  ID:agYvXZ6g0.n(2)
double power(double x,int n)
{
double tmp = 1.0 while(n-->0) tmp *=x; retrun tmp;}
初心者で申し訳ないのですが教科書に載ってるこれがなぜちゃんと2乗で帰ってくるのかわかりません。               これだとwhile文が一回分少なくなりません?              n=2,x=3だったらtmp=3でかえってくるきがするのですが・・・
コメント1件

343
デフォルトの名無しさん (ワッチョイ 2b19-Eko0)[sage]   投稿日:2016/12/29 07:54:55  ID:UuSU3MmP0.n
>while(n-->0)
比較後にnが-1されるから正しいよ。
コメント1件

344
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5b-lF1b)[sage]   投稿日:2016/12/29 07:55:37  ID:4SBHJX0YK.n
>342
n--は、--nとは違って、nを返し、副作用としてnを1だけ減少させる。
n--の評価はnだが、式を評価した後に減算する。

345
デフォルトの名無しさん (ワッチョイ de5b-BD8y)[sage]   投稿日:2016/12/29 08:01:20  ID:agYvXZ6g0.n(2)
>343
あー前置後置ってヤツですね!
わかりましたありがとうございます

346
デフォルトの名無しさん (ワッチョイ af22-VbmQ)[sage]   投稿日:2016/12/29 08:16:33  ID:uZde1oJB0.n
普通にエラーにならないか?それとも新しい構文が出来たのかな?

347
デフォルトの名無しさん (スププ Sdaa-AfM2)[sage]   投稿日:2016/12/29 18:15:30  ID:McFsgUodd.n(2)
aはbの何%かを
全てint型のみ使って表現する方法を教えて下さい
もはや算数の質問かも
コメント1件

348
デフォルトの名無しさん (ワッチョイ 4613-Sa8B)[sage]   投稿日:2016/12/29 18:27:21  ID:jmDxh3ik0.n(2)
>347
(a * 100) / b
(a * 1000) / b
(a * 10000) / b
など好きな桁だけ
コメント1件

349
デフォルトの名無しさん (スププ Sdaa-AfM2)[sage]   投稿日:2016/12/29 18:38:33  ID:McFsgUodd.n(2)
>348
ありがとう
そうか先に乗算したらいいのか
先行き不安
コメント1件

350
デフォルトの名無しさん (ワッチョイ 4613-Sa8B)[sage]   投稿日:2016/12/29 18:57:20  ID:jmDxh3ik0.n(2)
>349
a が1000万とかおおきな数字だと桁あふれがあるかもしれないのは,要注意だよ

351
デフォルトの名無しさん (ワッチョイ 8a5b-N5TX)[sage]   投稿日:2016/12/29 19:35:14  ID:L0//uJAz0.n
アホみたいな質問したいなら初心者歓迎スレに行けよ。
んでそんなのに答えんなよ。

352
デフォルトの名無しさん (ワッチョイ 4ac2-iiJY)[sage]   投稿日:2016/12/29 21:35:34  ID:5z3LEr/z0.n
ferr()は使ってはいけないの?

353
デフォルトの名無しさん (ワッチョイ 0a17-4Ie9)[sage]   投稿日:2016/12/31 00:48:00  ID:d3m9z2RM0.n
何その関数?

354
デフォルトの名無しさん (ワッチョイ 8a3c-vnn7)[sage]   投稿日:2016/12/31 08:11:57  ID:RP5GqFRc0.n
ferror(), feof() あるいは独自関数?

355
デフォルトの名無しさん (ワッチョイ 8a5b-N5TX)[sage]   投稿日:2016/12/31 18:06:01  ID:1NxzN7Kr0.n
strlcpyを標準関数にするべきだな。
Cの偏屈委員会どもは死んでしまえ

356
デフォルトの名無しさん (アウアウカー Sa6b-vNeW)[sage]   投稿日:2016/12/31 20:17:13  ID:PqxctD7va.n
諦めてstrncpy_s使えよ

357
デフォルトの名無しさん (ワッチョイ 9ba1-pjmj)[]   投稿日:2017/01/06 16:56:13  ID:dF2ZN8YS0.n
マルチスレッド対応

358
デフォルトの名無しさん (ペラペラ SD3f-/Nb9)[]   投稿日:2017/01/06 21:52:48  ID:z/rf0TmkD.n
LTOオプションの感想をお聞かせください

359
デフォルトの名無しさん (ワッチョイ 5fab-HvS5)[]   投稿日:2017/01/07 17:26:15  ID:4AuueMBh0.n
malloc呼ばずにいきなりrealloc呼んでも確保できてるみたいなんだが
この書き方安全?
コメント2件

360
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK3f-6Slv)[sage]   投稿日:2017/01/07 17:46:45  ID:ogQHxHufK.n
>359
ANSI以降なら安全。

361
デフォルトの名無しさん (ワッチョイ ab7b-RU+3)[sage]   投稿日:2017/01/07 17:48:24  ID:2i81Owhj0.n
>359
第一引数に渡すポインタがNULLのとき"のみ"malloc()と同等の動作となる

362
デフォルトの名無しさん (ワッチョイ df17-pn3f)[sage]   投稿日:2017/01/08 01:19:27  ID:LDH1W2Fk0.n
reallocって要は中でmallocしてコピーしてfreeしてるだけでしょ
可読性に疑問符はあるけど安全か安全でないかといえば安全
コメント2件

363
デフォルトの名無しさん (ワッチョイ bb7b-XpjH)[sage]   投稿日:2017/01/08 02:12:57  ID:LTVOs92T0.n(2)
ちげーよ アホ

364
デフォルトの名無しさん (ワッチョイ 7b3c-HvS5)[sage]   投稿日:2017/01/08 03:30:55  ID:Nqw0FnK60.n(2)
(malocの実装によるけど)同じポインタを返すこともかるから そう単純な話でもない
コメント3件

365
デフォルトの名無しさん (ワッチョイ df3c-JQu6)[sage]   投稿日:2017/01/08 13:14:25  ID:C9GVPqMv0.n(4)
>364
結構単純な話みたいよ
http://www.beedub.com/Sprite093/src/lib/c/stdlib/realloc.c
サイズ拡張時の malloc( ) が NULL 返した時の処理がバグってるけど
コメント2件

366
デフォルトの名無しさん (アウアウカー Sa3f-KJco)[]   投稿日:2017/01/08 13:40:28  ID:l5OOm04ca.n(2)
>365
glibcのソースでも読めば?
単純な話じゃないから
コメント1件

367
デフォルトの名無しさん (ワッチョイ df3c-JQu6)[sage]   投稿日:2017/01/08 14:27:25  ID:C9GVPqMv0.n(4)
>366
ソースはごちゃごちゃしてるけどやってることはそう複雑じゃないでしょ
http://osxr.org:8080/glibc/source/malloc/malloc.c
コメント2件

368
デフォルトの名無しさん (アウアウカー Sa3f-KJco)[]   投稿日:2017/01/08 14:51:20  ID:l5OOm04ca.n(2)
>367
ここで言う単純な話って、>362だぞ
アルゴリズムが複雑か否かは問題にしていない

実際は後ろのchunkが空いているかとかで変わって、>364の通り同じアドレスが返ることもある
コメント1件

369
デフォルトの名無しさん (ワッチョイ df9f-c1lT)[sage]   投稿日:2017/01/08 14:56:25  ID:p/kSxu/t0.n(2)
>367
最悪の場合はmallocしてmemcpyしてfreeなのは当然として
glibcだと肝は_int_realloc()だけどパッと見ではさっぱり分からん
複雑じゃないならちょっと解説頼む
コメント1件

370
デフォルトの名無しさん (ワッチョイ df3c-JQu6)[sage]   投稿日:2017/01/08 15:04:37  ID:C9GVPqMv0.n(4)
>368
> アルゴリズムが複雑か否かは問題にしていない
いったい何を問題にしてるんだろう...

> 実際は後ろのchunkが空いているかとかで変わって、>364の通り同じアドレスが返ることもある
そりゃそう言う実装もあるわな
でもそれってそんな複雑な話か?
コメント1件

371
デフォルトの名無しさん (ワッチョイ 7b3c-HvS5)[sage]   投稿日:2017/01/08 15:07:42  ID:Nqw0FnK60.n(2)
極力 memcpy せずに済むように工夫してあるからこその realloc だと個人的には思っている
100% malloc memcpy free で代用できるのなら realloc は不要ってことに

372
デフォルトの名無しさん (アウアウカー Sa3f-KJco)[]   投稿日:2017/01/08 15:25:56  ID:4o94KzMpa.n
>370
>362の言う通りの実装かどうかの問題
少なくとも、glibcは違う
コメント1件

373
デフォルトの名無しさん (ワッチョイ df3c-JQu6)[sage]   投稿日:2017/01/08 15:32:07  ID:C9GVPqMv0.n(4)
>369
・要求サイズ小さければサイズ変更だけ
・そのまま拡張できるなら拡張する
・次のチャンクを使って拡張できるなら次のチャンクと統合
・だめなら領域確保してコピーして(元の領域を)解放

中学程度の英語力 + Google翻訳 でコメント拾い読みすればわかるとと思う

特殊ケースでコピーを避けたりサイズによってコピー方法変えたりしてるからちょっと読み辛い所はあるけど
コメント1件

374
デフォルトの名無しさん (ワッチョイ df9f-c1lT)[sage]   投稿日:2017/01/08 16:42:09  ID:p/kSxu/t0.n(2)
>373
俺も似たような見解だけど、それだと>365の指摘は見当違い(またはアスペ)で
>372が正しいようだ

375
デフォルトの名無しさん (ワッチョイ df5b-O2rp)[sage]   投稿日:2017/01/08 19:45:21  ID:M5lCKC460.n
realloc をいきなり呼ぶこと自体が間違いだろ。
システムコールを呼ぶんだから、OSに依存するだろう。

376
デフォルトの名無しさん (ワッチョイ bb7b-XpjH)[sage]   投稿日:2017/01/08 19:59:06  ID:LTVOs92T0.n(2)
↑↑↑↑↑↑
こいつ最高のアホ


377
デフォルトの名無しさん (ワッチョイ 5fc0-r3T7)[sage]   投稿日:2017/01/09 07:01:50  ID:OyKUGSou0.n
reallocでfreeされたら困る

378
デフォルトの名無しさん (ワッチョイ 1b79-IbiL)[sage]   投稿日:2017/01/09 19:20:06  ID:TY73MQez0.n(5)
すみません麻雀計算プログラムを作ってるんですが(C言語のサイトのを参考に)
C言語をJavaに置き換えたいのですが

●C言語
kiriwake[p_kiriwake]=TOITU;kiriwake[p_kiriwake+1] =i,p_kiriwake+=2;

これをJavaに書き換えると次のような感じでいいのですか?
セミコロンとカンマの使い分けの意味がわからんのですが、、、
●Java
kiriwake[p_kiriwake]=Mentsu.TOITU.getInt();
kiriwake[p_kiriwake+1] =i;
p_kiriwake+=2;

あと、C言語で !tehai[i] みたいな配列の要素否定(配列はint型)
これって 配列の要素の値が 0だったらtrueって意味でよいのでしょうか?
コメント1件

379
デフォルトの名無しさん (ブーイモ MMff-aasi)[sage]   投稿日:2017/01/09 19:31:26  ID:ZrysDj50M.n
!0がtrue
コメント1件

380
デフォルトの名無しさん (ワッチョイ 1b79-IbiL)[sage]   投稿日:2017/01/09 19:37:45  ID:TY73MQez0.n(5)
>379
ありがとうございます!

int tehai[1]={0}だったら
!tehai[1] はtrueってことでよいですよね?

すみません、カンマとセミコロンの使い分けについても知りたいのですが。。。

381
380 (ワッチョイ 1b79-IbiL)[sage]   投稿日:2017/01/09 19:41:24  ID:TY73MQez0.n(5)
もとい

int tehai[1]={0}だったら
!tehai[0] はtrueってことでよいですよね?

382
デフォルトの名無しさん (ワッチョイ 7b3c-HvS5)[sage]   投稿日:2017/01/09 19:44:30  ID:B6Fh/YAP0.n(2)
その文だったら カンマもセミコロンも変わらない
むしろ何でカンマで記述したんだろう?と疑問に思うところ
コメント1件

383
デフォルトの名無しさん (ワッチョイ 1b79-IbiL)[sage]   投稿日:2017/01/09 19:49:25  ID:TY73MQez0.n(5)
>382
ありがとうございます!!!
Javaしかやったことなくて
疑問に思ってました。。。。

参考にさせてもらってるので文句いえないんですが。

384
デフォルトの名無しさん (ワッチョイ 7b3c-HvS5)[sage]   投稿日:2017/01/09 19:52:46  ID:B6Fh/YAP0.n(2)
アルゴリズム追えてるならまだしも
片側の言語しかやってなくて、別言語を移植するのはうまい手ではない とだけ
コメント1件

385
デフォルトの名無しさん (ワッチョイ 1b79-IbiL)[sage]   投稿日:2017/01/09 19:53:41  ID:TY73MQez0.n(5)
>384
アルゴリズムおえてないっす。。。。(´・ω・`)ショボーン

386
デフォルトの名無しさん (ワッチョイ 1f3d-IbiL)[sage]   投稿日:2017/01/09 23:32:02  ID:3plbifW70.n
>378
p_kiriwakeとかで検索すると、すでにjava用があるみたいだが(完成しているかどうかは知らんが)、
そっちは調査済み?
コメント1件

387
デフォルトの名無しさん (ワッチョイ 1b79-IbiL)[sage]   投稿日:2017/01/10 01:21:20  ID:TQQvtKe/0.n
>386
ついさっき気づきました。
ちゃんと見てなくてすみません><

ありがとうございます!

388
デフォルトの名無しさん (ワッチョイ cf48-FA8G)[]   投稿日:2017/01/11 00:33:31  ID:yCTW6NdS0.n(4)
fprintfでunicod出力できますか?
コメント1件

389
デフォルトの名無しさん (ワッチョイ cf48-FA8G)[]   投稿日:2017/01/11 00:43:26  ID:yCTW6NdS0.n(4)
環境はwindowsのgccです

390
デフォルトの名無しさん (ワッチョイ cf48-FA8G)[]   投稿日:2017/01/11 02:07:55  ID:yCTW6NdS0.n(4)
ICUで変換しなきゃなのかな?
sjisのテキストファイルfgets
unicodeのテキストファイルfgets
両方の文字列結合してunicodeのテキストへ出力したいだけなんだけど、なかなかハードル高そう
コメント1件

391
デフォルトの名無しさん (ワッチョイ cf48-FA8G)[]   投稿日:2017/01/11 02:28:22  ID:yCTW6NdS0.n(4)
あ、iconvってのがあるのね
こっちのほうが簡単かな?
明日試してみよ

392
デフォルトの名無しさん (ワッチョイ 0f7b-MPfw)[sage]   投稿日:2017/01/11 04:59:56  ID:s2WqCPuy0.n
Rubyでは、Iconv は標準ライブラリから削除された

普通はそのまま、多言語対応の、String#encode を使うけど、
日本語なら、NKF か、NKFのラッパーである、Kconv を使うこともある

393
デフォルトの名無しさん (ワッチョイ df17-pn3f)[sage]   投稿日:2017/01/11 06:34:38  ID:9AYGk8zp0.n
>388
unicodeがUTF-16という意味ならば、fprintf()ではなくfwprintf()を使う必要がある。
非SJIS文字をコンソールウィンドウに表示したいという意味ならば、SetConsoleOutputCP()を使う必要がある。
コメント1件

394
デフォルトの名無しさん (ワッチョイ bb7b-XpjH)[sage]   投稿日:2017/01/11 08:41:45  ID:7JGhXUMg0.n
C言語スレで聞かれてもいないRubyの話とか
Ruby厨ってゴキブリのようにどこにでも現れるな 本当にウザい

395
デフォルトの名無しさん (JP 0Hff-HvS5)[sage]   投稿日:2017/01/11 09:45:29  ID:Kc9qpi7VH.n
noranを取り出すプログラム作りたいけど、どうすればいい?

入力例
ouninnoran
出力例
ounin
コメント2件

396
デフォルトの名無しさん (ブーイモ MMff-HTrg)[sage]   投稿日:2017/01/11 10:50:42  ID:YIxHFj66M.n
>395
それは、取り出すじゃなくて、取り除くだろ

397
デフォルトの名無しさん (JP 0H3f-HCiS)[sage]   投稿日:2017/01/11 11:43:13  ID:9NELrAZMH.n(2)
>395
まず確認として、逆に付け足す方はできるのん?
それより数段難しいけど

398
デフォルトの名無しさん (ワッチョイ ab4e-JoNk)[sage]   投稿日:2017/01/11 12:13:12  ID:TbwwsfFk0.n
strstrでnoranのポインタ見つけたらその一個前までがounin

399
デフォルトの名無しさん (JP 0Hff-HvS5)[sage]   投稿日:2017/01/11 12:21:43  ID:SaAlt4gYH.n
scanf("%s %c", &name,&s);

if(!strcmp("M", s))

printf("Hi, Mr. %s", name);

else
printf("Hi, Ms. %s", name);

どこが間違ってる?
コメント2件

400
デフォルトの名無しさん (ワッチョイ 0f4f-HvS5)[sage]   投稿日:2017/01/11 12:31:53  ID:BpdW2SgI0.n
>399 つっこみどころ満載やね
s の型は
char ならば strcmp で比較することがおかしい
char の配列ならば %c で受けるのがおかしい

そして scanf の第二引数は &name ではなく name

401
デフォルトの名無しさん (JP 0H3f-HCiS)[sage]   投稿日:2017/01/11 14:00:06  ID:9NELrAZMH.n(2)
>399
name, s の宣言をどこでどうやってるかまず明示

402
デフォルトの名無しさん (ワントンキン MMff-FA8G)[]   投稿日:2017/01/11 16:57:22  ID:/Ass4XCcM.n
>393
ありがと
使いたいのはutf8でした
もう少し調べてみます

403
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 13:25:08  ID:N1lQGCCN0.n(8)
入力ファイルAとBを事前にutf8で用意
fopenでABをオープン
_wfopenのパラメータにUTF-8を指定してファイルCをオープンしてすぐクローズ(空ファイル作成)
fopenでCをオープン
fgetで読んだABの中身をfprintfでCに出力
これでやりたかったutf8出力はできたけど
無理矢理すぎて残念な感じ
こんなソース人には見せたくないなw
コメント2件

404
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 13:29:55  ID:N1lQGCCN0.n(8)
カンマ区切りのcsvのn番目の項目だけをutf8ファイルへ出力するだけなので、結果オーライだろうけどデータの中身が日本語でも対応できてる

405
デフォルトの名無しさん (JP 0H8b-CSNb)[sage]   投稿日:2017/01/12 13:39:48  ID:xegpw56ZH.n
ライブラリに押し込んで隠蔽して
もっともらしくドキュメント書けばおーけーよ

406
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 13:44:40  ID:N1lQGCCN0.n(8)
まじかw

407
デフォルトの名無しさん (JP 0Hee-0Plu)[sage]   投稿日:2017/01/12 15:04:44  ID:Yxj3ejPrH.n
>403
utf8を読んでutf8で書くだけなら_wfopenとか必要なくね

普通にfopenだけで動かんの?

408
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 16:45:42  ID:N1lQGCCN0.n(8)
普通にfopenしたら新規ファイルがsjisになっちゃうのよ
コメント1件

409
デフォルトの名無しさん (ワッチョイ ff53-BvkP)[sage]   投稿日:2017/01/12 17:44:41  ID:TSKFHmJO0.n
>408
バイナリー扱いでファイルcに出力できないのはbom関係から?

410
デフォルトの名無しさん (ドコグロ MM0a-f8hU)[sage]   投稿日:2017/01/12 18:01:15  ID:+/2k3owKM.n
UTF8にしたいのはファイル名?

411
デフォルトの名無しさん (ワッチョイ 2f3c-dHfL)[sage]   投稿日:2017/01/12 18:15:42  ID:wUE0uj5c0.n
>390 では sjisのファイルと unicode のファイルを unicode として連結出力したい
>403 では utf8のファイルA と utf8のファイルB を utf8のまま連結出力したい

412
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 18:48:56  ID:N1lQGCCN0.n(8)
ファイル名じゃなくて、中身のコードをutf8にしたい

413
デフォルトの名無しさん (アウアウカー Sa5f-lBuY)[sage]   投稿日:2017/01/12 18:51:37  ID:yXBvqXfaa.n
文字コード変換ならwindowsならMultiToWide、WideToMultiみたいなAPIあったろ
それでsjis→ucs2?→utf8で変換出来るでしょ

コードをutf8にしたいなら、エディタで保存するときに文字コード選ぶか、c11なら文字列リテラルにu8つける
コメント1件

414
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 18:52:20  ID:N1lQGCCN0.n(8)
あー、まずバイナリでBOM出力したらよかったのかもね

415
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 18:56:15  ID:N1lQGCCN0.n(8)
>413
二段階で変換するのか
ありがとー

416
デフォルトの名無しさん (ワッチョイ c648-3wWY)[]   投稿日:2017/01/12 18:58:51  ID:N1lQGCCN0.n(8)
MultiByteToWideChar
WideCharToMulteByte
でいけるみたいね
ちょっと試してみる

417
デフォルトの名無しさん (JP 0Hf2-dHfL)[sage]   投稿日:2017/01/13 10:59:17  ID:A7lO7PxRH.n
int main(void){

char s;
scanf("%s", &s);
printf("Best in %s", s);
return 0;

}
ド素人です
どこが間違ってるの?
コメント2件

418
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/13 11:05:29  ID:XrLKGNVx0.n
>417
>char s;

この辺

419
デフォルトの名無しさん (ドコグロ MM0a-xe6k)[sage]   投稿日:2017/01/13 11:06:07  ID:zsb+1uUaM.n
include してないから?

420
デフォルトの名無しさん (ワッチョイ c3dc-0v0L)[sage]   投稿日:2017/01/13 11:18:43  ID:Aw2MqPlk0.n(2)
>417 とりあえず...
標準入力から1文字だけ取って表示したいなら、2か所の %s は %c と書く。

標準入力から単語を1個取って表示したいなら
char s; → char s[1024];
scanf("%s", &s); → scanf("%s", s);


んで、プログラムを書いたときに期待した動作と、
実行したときの実際の動作の食い違いを報告すれば
次のヒントを示せると思うよ。
コメント1件

421
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/13 11:21:49  ID:76Aeg2JY0.n(3)
>420の言う事は信用しないように
> char s; → char s[1024];
特にこの辺
コメント2件

422
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/13 12:29:47  ID:KHQIWhB30.n
批判するならちゃんと最後まで説明しろ

423
デフォルトの名無しさん (JP 0Hff-ws9s)[sage]   投稿日:2017/01/13 12:32:11  ID:TdrVgO0QH.n
だな
>421は害悪

424
420 (ワッチョイ c3dc-0v0L)[sage]   投稿日:2017/01/13 16:45:39  ID:Aw2MqPlk0.n(2)
確かにchar配列の大きさ決め打ちは良くないから >421 の指摘はもっともなんだが、
この段階でscanfの読み取り量の上限指定書式とか説明しきれないじゃない。

そういう意味での「とりあえず...」という前置き。
もちろん完璧な解説をしてくれるなら歓迎するよ。

425
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/13 17:35:31  ID:76Aeg2JY0.n(3)
scanfで%sを使って文字列を読み込むとこは禁じ手
%1023s これを超初心者に教えるのは面倒

従ってscanfで文字列読み込むな!
が正しい解答

426
デフォルトの名無しさん (ワンミングク MMe2-3wWY)[]   投稿日:2017/01/13 17:45:39  ID:5IEqjpCWM.n
実際scanf使うことはないけど
勉強中はべつにいいだろ
最初はこかして覚えるもんだ
コメント2件

427
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/13 17:54:35  ID:76Aeg2JY0.n(3)
>426
1000回死ね

428
デフォルトの名無しさん (ワッチョイ 677b-j+ca)[sage]   投稿日:2017/01/13 18:01:09  ID:530oYhD80.n(2)
むしろ初心者のうちに身を持って覚えておかないと将来困る
最初から使うなというだけでは勉強にならないだろ

429
デフォルトの名無しさん (ワンミングク MMe2-dqLr)[]   投稿日:2017/01/13 18:07:58  ID:kKg87s4oM.n(2)
>426
それで、char s[1024]; にしたらこけて覚えるか?
覚えないだろ、勉強中に1024以上入力する事なんてないだろうから。
そうやって「自分の動かす範囲では動いてる」で進むのが良いとは思わんね

430
デフォルトの名無しさん (ワッチョイ 1f85-y9rD)[sage]   投稿日:2017/01/13 18:12:45  ID:hu5eqRYQ0.n
最初から fgets() に絞っておく、という教科書がそろそろほしいものだ
C の標準関数は洗練されていない

431
デフォルトの名無しさん (ワッチョイ 677b-j+ca)[sage]   投稿日:2017/01/13 18:20:09  ID:530oYhD80.n(2)
こけるかどうかよりもバッファの配列の存在を意識することが大切
実際にscanfで文字列を扱う経験のなかから危険性も理解できるようになる(はず)
コメント1件

432
デフォルトの名無しさん (ワンミングク MMe2-dqLr)[]   投稿日:2017/01/13 18:28:57  ID:kKg87s4oM.n(2)
>431
知らないとバッファーに収まるように打ち切って格納してくれると思ってしまう可能性もあるだろ?(C++では実際そういう風に実装可能だし)

scanfで文字列取るのなんて実行時まで自分で面倒見ない限りどうやっても安全に使えないんだからその方法を教えること自体悪

433
デフォルトの名無しさん (ワッチョイ 2f3c-dHfL)[sage]   投稿日:2017/01/13 18:35:16  ID:VUlDSfWl0.n
余所言語を経験してて、この言語については初心者なのと
最初のプログラミング言語がこれでの初心者
どっちが取り扱うにしろ文字列周辺は面倒だな

434
デフォルトの名無しさん (ワッチョイ f37b-aKms)[sage]   投稿日:2017/01/13 21:03:22  ID:wdtBjSeo0.n
入力ストリームの食べ残しで頭悩ませる初心者が後を絶たないのはカビ臭い本のせいだな
printf()の対だから…なんて安易な考えでscanf()を使っているとしか思えないが
scanf系は元々csvとか帳簿みたいな固定長あるいは固定フォーマットのレコードを処理するために用意されたものだから
そういう「入力が既知のケース」ではとても便利なのでガンガン使っていいけど
何が来るかわからない一方通行の入力ストリームに対してはあまりに使いにくい
変換失敗しただけでも食べ残して次の入力になっちゃうから行儀が悪い
だから改行もちゃんと食べきるfgets()のほうがやり直しも含めて簡単なんだよな

435
デフォルトの名無しさん (ワッチョイ 7e13-dHfL)[sage]   投稿日:2017/01/13 21:10:12  ID:nYJUER3p0.n
そうそう,fgets() だけでいい

436
デフォルトの名無しさん (ワッチョイ 12cb-q48i)[sage]   投稿日:2017/01/13 21:44:57  ID:3pfgPUNA0.n
scanfの使えなさを実感させてた上で「使うな!」って言わないと。

437
デフォルトの名無しさん (JP 0H8b-CSNb)[sage]   投稿日:2017/01/14 14:22:47  ID:Xw0trSpZH.n(2)
printf とか scanf とか自分で間違いを自覚できずに迷路にハマるやつは
初心者に使わせるべきではない

438
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/14 14:25:06  ID:NOILgRtm0.n
「使うな」じゃなく、安全に使えるものを提供してやれよ

439
デフォルトの名無しさん (ワッチョイ 4f19-YL17)[sage]   投稿日:2017/01/14 14:57:58  ID:YpbmANTj0.n
問題が生じる実例を出して「だから使ってはいけない」って言えよ。
どこぞのパヨクじゃあるまいし。
コメント2件

440
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/14 15:05:14  ID:8QfSwFFH0.n(2)
>439
やってはいけない事を形式的に理解する
やってはいけない理由を理解する

前者の方が圧倒的に簡単でオレはそれをした
後者は必要だと思ってるお前がやれ

441
デフォルトの名無しさん (ワッチョイ 12cb-q48i)[sage]   投稿日:2017/01/14 19:18:27  ID:FAvcV6GF0.n
2chで質問/反論するなんてドMかと。

442
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/14 21:25:43  ID:aI5T4zHh0.n
C言語は使い手が間違った使い方をしないのが前提だからな。
scanfも間違った使い方をしなければ良いだけだ。

Cに関しては間違うやつが悪い。

443
デフォルトの名無しさん (ワッチョイ 1f76-L1LG)[]   投稿日:2017/01/14 22:06:39  ID:nnhGfmGJ0.n
programmers know what they are doing
いい言葉だ

444
デフォルトの名無しさん (JP 0H8b-CSNb)[sage]   投稿日:2017/01/14 22:47:19  ID:Xw0trSpZH.n(2)
間違うやつ=初心者 に使わせることそれ自体が間違い

445
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/14 22:59:33  ID:8QfSwFFH0.n(2)
間違った使い方しか出来ないgetsなんてのもある

口だけパヨクの>439は逃亡か
コメント3件

446
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 13:44:50  ID:HYjV15pa0.n(12)
>445
> 間違った使い方しか出来ないgetsなんてのもある
意味わからん
コメント1件

447
デフォルトの名無しさん (ワッチョイ 4f19-YL17)[sage]   投稿日:2017/01/15 14:16:13  ID:2Jcq20M50.n
宗教戦争勃発!

448
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 15:55:29  ID:T6BZe6fz0.n(14)
>446
頭悪いんじゃ無い?
コメント1件

449
デフォルトの名無しさん (ワッチョイ 3217-q48i)[sage]   投稿日:2017/01/15 16:04:27  ID:6p/gvNbZ0.n
A. 頭悪いヤツが悪い
B. 頭悪いヤツでも使えるようにしないヤツが悪い

いかにして上記のAとBで相反する主張を巧みに使いこなし他人に責任転嫁するかってのが処世術。

450
デフォルトの名無しさん (ドコグロ MM3e-lGK7)[sage]   投稿日:2017/01/15 16:23:27  ID:YYhy4dGbM.n
>448
こういう論争はだいたい言い切る奴が頭悪いって結論だが w
コメント2件

451
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 16:43:00  ID:T6BZe6fz0.n(14)
>450
たった一行の
「間違った使い方しか出来ないgetsなんてのもある」
の意味がわからないのは頭が悪い可能性がとてつもなく高い
例外として日本語が不自由
コメント1件

452
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 17:14:18  ID:HYjV15pa0.n(12)
>451
> 「間違った使い方しか出来ないgetsなんてのもある」
> の意味がわからない
マジで言ってるなら相当頭悪いわ w
どうせ入力が溢れることを防げないとか思ってるんだろうけど常に防げないと思ってるなら経験値が無さすぎ
コメント2件

453
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 17:21:42  ID:T6BZe6fz0.n(14)
>452
頭悪い本人? 横レスなら引っ込んでろ
コメント1件

454
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 17:23:45  ID:OwCHVx6x0.n(14)
>452
経験値があったら安全に使えるのか。
凄いねそのお前の経験値が他の人にもあったら規格から削除されることもなかったのにね。
コメント1件

455
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 17:44:54  ID:HYjV15pa0.n(12)
>453
横レス?
ID も見てないアホですか? w

>454
> 経験値があったら安全に使えるのか。
使えるだろ
使えない理由がないわ

> 凄いねそのお前の経験値が他の人にもあったら規格から削除されることもなかったのにね。
バカなの?
使える機会が少ないとか >445 みたいなアホが多いとかで廃止されてるだけだろ
コメント1件

456
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 18:08:37  ID:T6BZe6fz0.n(14)
>455
それじゃ、意味わからないおバカさんに解説してあげよう

「間違った使い方しか出来ないgetsなんてのもある」

「getsには正しい使い方は存在しない」って意味だよ
コメント1件

457
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 18:39:14  ID:HYjV15pa0.n(12)
>456
ぼくはまちがったつかいたかしかしりません
の間違いだろ w
一行の長さが保証されてるならなんの問題もない

458
デフォルトの名無しさん (ワッチョイ b217-sWU2)[sage]   投稿日:2017/01/15 18:40:53  ID:egsq+OIB0.n
まともな頭があると思ってるならスレタイを何度か読み直してみてくれよ。

459
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 18:46:49  ID:T6BZe6fz0.n(14)
「間違った使い方しか出来ないgetsなんてのもある」

「getsには正しい使い方は存在しない」って意味だって言う事がわかったかな?

これがわからないと言うから、頭悪いと言ったんだよ

460
デフォルトの名無しさん (ワッチョイ f619-vSov)[sage]   投稿日:2017/01/15 19:14:33  ID:R1qhOvTe0.n
ゲッツ!
コメント1件

461
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 19:23:11  ID:OwCHVx6x0.n(14)
標準入力をどうやって一行の長さを保証すんだよ
このプログラムへの入力は一行にN文字までにしてね!
ってどこかに書いておくのか。アホらしい。
そんな設計が正しいと信じてるならお前にとってはそれが正しい使い方なんだろうね。
コメント2件

462
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/15 19:32:26  ID:GuIWlHA40.n(6)
作り手も使い手も間違わないって考えで作られたのがC言語だから。

初心者が使う言語ではないし、初心者に使わせる言語でも無い。
プロのプログラマーが作って、プロのオペレーターが使うのを想定してる。

間違うのが怖いならベーシックでもやってろよ
コメント1件

463
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 19:34:16  ID:OwCHVx6x0.n(14)
因みに俺の思う正しい設計の一つ(ケースに依るので)は想定以上のサイズのデータが入力された場合エラーメッセージを吐いて死ぬだ。

断じて動いてるように見えるけど実は結果が壊れてるとかではない。

464
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 19:42:52  ID:T6BZe6fz0.n(14)
>450
ほら、トンデモない馬鹿だったろ

> 一行の長さが保証されてるならなんの問題もない

465
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 19:45:03  ID:OwCHVx6x0.n(14)
>462
明らかに使い方を間違えていると解るのであれば、正しくエラーメッセージを出力するように実装するのがプロのプログラマ
結果が予測できないような実装になるのは未熟すぎる。
getsを使うようなプログラマにプロの仕事は出来ないよ
コメント2件

466
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/15 19:45:49  ID:YV5ExKYS0.n(5)
文字数制限を設計時にすれば間違いとは言えない、気がする
「暴走する?仕様です笑」

467
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 19:47:26  ID:T6BZe6fz0.n(14)
>461
行の長さをチェックしつつ全部読んで、中間ファイルに書き出し、それをfreopeして大爆笑
コメント1件

468
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 19:50:33  ID:HYjV15pa0.n(12)
>461
はあ?
仕様って知ってるか? w
自分が出力したデータを読むとかも想定できないのかよ
コメント1件

469
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/15 19:52:34  ID:GuIWlHA40.n(6)
>465
時代が違うし、用途が違う。
getsでも十分なバッファを用意しておけば良いだけの事だろう。

たいてい特定のコマンドとかしか入力しないんだから、
何文字以上入力するなって言っておけば良いだけの事。

たぶん君は若いんだよ。
古い人間はプログラム側を信用するのも危険って知ってる
コメント1件

470
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 19:57:58  ID:HYjV15pa0.n(12)
>465
バカはこれだから w
仕様通りの動作をするように組むのがプロだよ
そもそも常にメッセージ出せるわけでもないし
コメント1件

471
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 19:58:19  ID:T6BZe6fz0.n(14)
>468
ぷぷぷ
そのような頭悪い強結合の設計は「正しく無い」ので、その設計に基づいたgetsの使い方もまた正しく無い
コメント1件

472
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 19:59:08  ID:HYjV15pa0.n(12)
>467
いちいちバカを晒さんでいいぞ

473
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 20:00:39  ID:OwCHVx6x0.n(14)
>469
そのわざわざ信用出来ないプログラムを書くのが

474
デフォルトの名無しさん (ワッチョイ 329f-3X21)[sage]   投稿日:2017/01/15 20:01:45  ID:Q6BJ1v/20.n(2)
getsを使うにはきちんとメモリ管理したり例外トラップしたりなにかと面倒だ
でも 「getsには正しい使い方は存在しない」 は言い過ぎだな
コメント1件

475
デフォルトの名無しさん (ブーイモ MMd2-yP9u)[sage]   投稿日:2017/01/15 20:02:02  ID:Hg/wNX2QM.n
c11で削除されたんだしもういいだろ

476
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 20:02:12  ID:OwCHVx6x0.n(14)
>470
予測不可能な動作をするより前に死ぬ事が大事って事が解らんのかね?
コメント1件

477
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 20:03:43  ID:HYjV15pa0.n(12)
>471
> そのような頭悪い強結合の設計は「正しく無い」ので、その設計に基づいたgetsの使い方もまた正しく無い
オレオレ定義乙 w
コメント1件

478
デフォルトの名無しさん (ワッチョイ b217-OYug)[sage]   投稿日:2017/01/15 20:05:28  ID:GJnk2lJp0.n
この関数の作者が単に思慮が足りない馬鹿だったのかマッドサイエンティストだったのか気になるね
コメント1件

479
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 20:09:08  ID:OwCHVx6x0.n(14)
>478
当時はプログラムを作成するのも実行するのも限られた人のみでセキュアコーディングなんて考えかたはかけらも存在しなかったから仕方ない。

でも今の時代に当時のままの感覚で語るのはただの老害

480
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/15 20:12:35  ID:YV5ExKYS0.n(5)
そういう人にはCは向かない

481
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 20:16:05  ID:HYjV15pa0.n(12)
>476
で?
仕様外の動作においてなにが大事かどうかはケースバイケース
常に
> 明らかに使い方を間違えていると解るのであれば、正しくエラーメッセージを出力
が正しいと思ってるならそれこそ経験値が無さすぎ
コメント1件

482
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 20:20:49  ID:T6BZe6fz0.n(14)
>477
今度は強結合がわからないらしい 大爆笑
コメント1件

483
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 20:23:07  ID:T6BZe6fz0.n(14)
>474
それを否定したけりゃ、正しい使い方を例示すれば良い
ID:HYjV15pa0のようにオツムの程度を晒す事になるが
コメント1件

484
デフォルトの名無しさん (ワッチョイ 72c1-SqzF)[sage]   投稿日:2017/01/15 20:23:33  ID:p20o/xdu0.n
勢いwwww

485
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 20:23:44  ID:OwCHVx6x0.n(14)
>481
エラー発生時に終了するより未定義動作につっこむ方が大事だと?
コメント2件

486
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 20:24:25  ID:T6BZe6fz0.n(14)
>485
ID:HYjV15pa0はそうらしい w

487
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/15 20:24:39  ID:YV5ExKYS0.n(5)
もう、ネタでやっているとしか思えない

488
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 20:42:59  ID:T6BZe6fz0.n(14)
ID:HYjV15pa0のためにgetsの正しい使い方を考えてあげるスレでも立てるか

489
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 20:43:41  ID:HYjV15pa0.n(12)
>482
> 今度は強結合がわからないらしい 大爆笑
勝手な解釈で勝利宣言 w
強結合だから正しくない
って言うのがオレオレ定義って言ってるんだが

>483
入力の仕様を明示すればいいって書いてあるが?

>485-486
ケースバイケースの意味がわからんのか?
コメント1件

490
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/15 20:45:30  ID:GuIWlHA40.n(6)
コンソールから入力できる1行の最大文字数なんて上限があるだろ。

今ならメモリなんか気にする必要ないんだから、
getsのバッファでそれ以上を用意しておけば良いだけだろう。
コメント1件

491
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/15 20:47:20  ID:GuIWlHA40.n(6)
Cはどういう使われ方をされるかわからないような
インターフェース部分に用いるべき言語では無いぞ。

492
デフォルトの名無しさん (ワッチョイ 7e13-dHfL)[sage]   投稿日:2017/01/15 20:53:50  ID:Z39GcWi70.n
fgets() 推奨,で終わりじゃなかったのか‥

493
デフォルトの名無しさん (ワッチョイ 6719-vSov)[sage]   投稿日:2017/01/15 20:54:12  ID:qtyi6+tl0.n(6)
自分しか使わないならそれでいいだろ

494
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 21:04:30  ID:OwCHVx6x0.n(14)
>489
じゃあ未定義動作の方が大事っていうケース挙げてみてよ

>490
古い人間ならパイプぐらい知ってるよね?
コメント1件

495
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 21:09:13  ID:OwCHVx6x0.n(14)
別に書き捨てるプログラム前提だからとエラーチェックもせずに怠惰に書くことは自体は否定しないけど、それを正しいと言い張るのは違うと思うな
コメント1件

496
デフォルトの名無しさん (ワッチョイ 6719-vSov)[sage]   投稿日:2017/01/15 21:13:49  ID:qtyi6+tl0.n(6)
間違った使い方が出来ないようにばかりすると
人はどんなものも間違った使い方ができないと思い込み
間違った使い方を出来てしまうものを間違って使い
命を落とすこともあるだろうから
間違った使い方ができるものも必要だよ
コメント1件

497
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/15 21:14:44  ID:GuIWlHA40.n(6)
バッファオーバーフローが怖いなら、Cを使うべきでは無いよ。
お茶をこぼすのが怖いなら、キーボードを使うべきでは無い。

潔癖すぎると生産できんがな。
getsを使ったプログラムなんてくさるほど運用されとるがな。
コメント1件

498
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 21:16:00  ID:OwCHVx6x0.n(14)
>496
間違った使い方しか出来ないものの話してるんですけど。

499
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 21:20:38  ID:OwCHVx6x0.n(14)
>497
セキュアコーディング全否定かよ。
お前がやろうとしないだけ(もしくは出来ないだけ)でまともなC言語使い未定義動作に突っ込まないように努力してんの。

この発言は老害としか言えねえな
仕事でC言語書いてるなら脆弱性発生器さんとも呼べるか

500
デフォルトの名無しさん (ワッチョイ 6719-vSov)[sage]   投稿日:2017/01/15 21:24:08  ID:qtyi6+tl0.n(6)
安全が当たり前になりすぎて少しの間違った使い方にクレームを言い出す人が増えすぎたな
コメント1件

501
デフォルトの名無しさん (ワッチョイ b25b-QKPs)[sage]   投稿日:2017/01/15 21:25:56  ID:GuIWlHA40.n(6)
「getsが間違った使い方しかできない」 ってのが間違いって言ってんだ。

オペレーターが注意する事でgetsのバッファオーバフローが防げるならそれで良いだろう。

何度も言うが、Cはそういう前提で開発された語だ。
プログラマーやオペレーターが間違ったら、基本的にそれを防げない言語なんだよ。

セキュアコーティングを目指すならCを用いるべきではない。
それこそ根本的に間違いだろう。

502
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 21:26:45  ID:OwCHVx6x0.n(14)
>500
そりゃ、間違ってることを正しいと主張されたら間違ってる事が広まって欲しくないからクレームだすよね。

503
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 21:29:23  ID:T6BZe6fz0.n(14)

504
デフォルトの名無しさん (ワッチョイ 6719-vSov)[sage]   投稿日:2017/01/15 21:32:21  ID:qtyi6+tl0.n(6)
ハッカーとか危険な男は使う人のことを考えた安心安全なコードを書かないと思うな
C言語はハッカーが使う言語だからね
コメント1件

505
デフォルトの名無しさん (ワッチョイ 677b-dqLr)[]   投稿日:2017/01/15 21:37:56  ID:OwCHVx6x0.n(14)
>504
Linuxがそんな考えで実装されてたら誰も使ってねえよ

506
デフォルトの名無しさん (ワッチョイ 6719-vSov)[sage]   投稿日:2017/01/15 21:45:37  ID:qtyi6+tl0.n(6)
使う人がプログラムを選ぶのではなくプログラムが使う人を選ぶ
それがハッカーの書くプログラムだ

507
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/15 21:49:39  ID:YV5ExKYS0.n(5)
C言語使えるだけではハッカーとは言えないな
PHPでもSQLでもシェルスクリプトでも果ては画像ファイルも使うから

508
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 21:55:03  ID:HYjV15pa0.n(12)
>494
> じゃあ未定義動作の方が大事っていうケース挙げてみてよ
strlen() に nul 終端してないデータを与えたら未定義動作になるから使用禁止な
今のインターフェースを変えることより未定義動作になることが重要と言うならやれば?

> 古い人間ならパイプぐらい知ってるよね?
パイプを使うプログラムに使うのが間違いと言うだけだろ

509
デフォルトの名無しさん (ワッチョイ df4a-oWec)[sage]   投稿日:2017/01/15 21:56:51  ID:BJa8Ru6k0.n
getsの何が問題なのか30文字以内で頼む

510
デフォルトの名無しさん (ワッチョイ 6719-vSov)[sage]   投稿日:2017/01/15 21:57:21  ID:qtyi6+tl0.n(6)
プロの使う道具に安全装置は不必要
つまりはそいうことだ

511
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/15 21:57:44  ID:HYjV15pa0.n(12)
>495
使用通り使えば正しい結果を出すのに正しくないという理由は?
より良い = 正しい
ではないことぐらいは理解してるよね?
コメント2件

512
デフォルトの名無しさん (ブーイモ MM8b-esp+)[sage]   投稿日:2017/01/15 21:58:12  ID:HXiVsc1JM.n
初心者に対して無責任にCをすすめる輩さえ居なけりゃ
後は自己責任で何でも良いや

513
デフォルトの名無しさん (ワッチョイ 4f6f-Ncwg)[sage]   投稿日:2017/01/15 23:04:34  ID:tpaH0xF80.n
初期のC言語入門書では getsやscanfが普通に使われていたので、
それを受けて、初心者向けのQAなどで、getsを使うと余計なトラブルに合う、
gets は使うべきでない、という言い方がよくされてた。

どうもそれぐらいの頃にC言語を入門した人は、刷り込まれて、getsに対する
嫌悪感が強い気がするね

514
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK8b-YaJ8)[sage]   投稿日:2017/01/15 23:08:25  ID:DPFQ7IqoK.n
gets_sの話はしないのか?

515
デフォルトの名無しさん (ワッチョイ 3217-q48i)[sage]   投稿日:2017/01/15 23:17:54  ID:+Zy353bS0.n(2)
C言語が危険とか言ってる奴は初心者

516
デフォルトの名無しさん (ワッチョイ 329f-3X21)[sage]   投稿日:2017/01/15 23:24:38  ID:Q6BJ1v/20.n(2)
誰も教えてくれなかったgetsの安全な使い方

⑴ 入力データはヒープに格納しましょう
 スタックではオーバーフロー検出が困難になるので避けましょう
⑵ ヒープのメモリ管理はmallocにお任せではなく自前で行いましょう
 OS(フリースタンディングの場合はCPU)の機能をよく確認して
 適切なサイズで領域を確保しましょう
⑶ アクセスバイオレーションを必ずトラップしましょう
 確保済領域を越えたアクセスが行われた場合に必ず検出しましょう
 領域を伸長して確保するなりエラー終了するなり適切に対処しましょう
コメント1件

517
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/15 23:30:53  ID:YV5ExKYS0.n(5)
よく切れる刃物は気をつけて使おう、くらいか

518
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/15 23:38:57  ID:T6BZe6fz0.n(14)
全然切れ味良くないから的はずれ

519
デフォルトの名無しさん (ワッチョイ 3217-q48i)[sage]   投稿日:2017/01/15 23:52:02  ID:+Zy353bS0.n(2)
まぁ今の時代確かにユーザーレイヤのアプリの開発に使うような言語ではなくなったよな
高速なライブラリの開発に使うか
カーネルレイヤのドライバやハードウェアコントローラの開発に使うか
ノンOSプラットフォームの開発で使うか

WindowsでVS使うような提供されたAPIだけ叩いてりゃいいような
プログラマとはいい難いせいぜいよくてスクリプタ低度の奴が
扱える代物ではないよね

520
デフォルトの名無しさん (ワッチョイ b67b-ZK7w)[sage]   投稿日:2017/01/16 00:38:37  ID:lrVKlg3e0.n
getsじゃないとできないことってあるの?

521
デフォルトの名無しさん (ドコグロ MM4e-lGK7)[sage]   投稿日:2017/01/16 06:54:48  ID:6pMMhvrLM.n(4)
使うべきではない

使えない
の区別のつかない子が暴れてただけでしょ
要するにいきなり gets() が使えないって言い出した >445 がもっとも使えないって言うオチ w

あと下らんスレたてた ID:T6BZe6fz はちゃんと後始末しとけよ

522
デフォルトの名無しさん (ワッチョイ 7e13-dHfL)[sage]   投稿日:2017/01/16 07:43:01  ID:wa9Hwxuh0.n
>516
gets() で (3)アクセスバイオレーションをトラップするにはどうすればいいの?

523
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/16 08:47:50  ID:4D4bT+Tb0.n(4)
発狂中のジジイが1匹に、言い過ぎと反発してるのが1匹か

getsの「正しい使い方」はネタしか出てないぞ
コメント1件

524
デフォルトの名無しさん (ドコグロ MM4e-lGK7)[sage]   投稿日:2017/01/16 12:45:55  ID:6pMMhvrLM.n(4)
>523
>511 に回答してからほざこうね、ぼくちゃん w

525
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/16 13:23:00  ID:4D4bT+Tb0.n(4)
「このプログラムに80文字を超える行を入力してはいけません。入力した場合の動作は不明です。」って「使用」か ? w
コメント3件

526
デフォルトの名無しさん (ワッチョイ db2c-dHfL)[sage]   投稿日:2017/01/16 13:25:06  ID:5bpc7cMa0.n
しようもない話はこの辺で終わりにしよう

527
デフォルトの名無しさん (ワッチョイ 1f7b-lDPz)[sage]   投稿日:2017/01/16 14:13:58  ID:pfhmv7nO0.n
>525
ドキュメントに制約事項として書いておけば仕様ですね

528
デフォルトの名無しさん (フリッテル MMce-xA2o)[sage]   投稿日:2017/01/16 17:22:38  ID:jKqhoN+GM.n
C言語の仕様読まれたし

529
デフォルトの名無しさん (ドコグロ MM4e-lGK7)[sage]   投稿日:2017/01/16 18:47:01  ID:6pMMhvrLM.n(4)
>525
誤字にしか突っ込めないとかかわいそうな奴 w
コメント1件

530
デフォルトの名無しさん (ワッチョイ 1f85-y9rD)[sage]   投稿日:2017/01/16 19:02:29  ID:LsnAvwpU0.n
似た名前でも gets() と fgets() とは雲泥の違い、どうしてこうなった?

531
デフォルトの名無しさん (ワッチョイ 3217-q48i)[sage]   投稿日:2017/01/16 19:46:22  ID:AUBfY0al0.n
ここまでダンディ坂野への言及が一切ないのは少々予想外。
コメント2件

532
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/16 19:58:01  ID:4D4bT+Tb0.n(4)
>529
>誤字にしか突っ込めないとかかわいそうな奴 w
つまり本気で

> 「このプログラムに80文字を超える行を入力してはいけません。入力した場合の動作は不明です。」

こう考えてるって事だな ぷぷぷ
コメント2件

533
デフォルトの名無しさん (ドコグロ MM4e-lGK7)[sage]   投稿日:2017/01/16 20:23:22  ID:6pMMhvrLM.n(4)
>532
で?
>511 にはなにも言えないってことでいいのかな? w
コメント1件

534
デフォルトの名無しさん (ワッチョイ 92c0-oWec)[sage]   投稿日:2017/01/16 21:49:54  ID:YbHVSczU0.n
>531
ダンディはいなくてもいい存在だから

535
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/16 22:14:50  ID:4D4bT+Tb0.n(4)
>533
可哀想なくらいに頭悪いな >532がそれだよ
「使用通り使う」とやらはネタでしか無い

536
デフォルトの名無しさん (ワッチョイ b23c-lGK7)[sage]   投稿日:2017/01/16 23:22:23  ID:Afs2A6pw0.n
低能ループ頂きました w

537
デフォルトの名無しさん (ワッチョイ c3dc-0v0L)[sage]   投稿日:2017/01/17 05:56:42  ID:snMaBsBG0.n
>531
>460 はソレだと思ったんだけど。

538
デフォルトの名無しさん (ワッチョイ 67e3-UjPM)[]   投稿日:2017/01/17 19:16:21  ID:3xEzL0NM0.n
チキンナ…

539
デフォルトの名無しさん (JP 0Hf2-dHfL)[sage]   投稿日:2017/01/18 10:50:37  ID:I4y9jt7uH.n
超初心者です
int main(void){

int i;

int d[255];
for(i = 0;i < 5;i++){

scanf("%d", d[i]);

}

for(i = 0;i < 5;i++){

printf("%d", (d[i] + 1)- d[i]);

}

これどこが間違ってるの?
コメント3件

540
デフォルトの名無しさん (ワッチョイ 4f19-YL17)[sage]   投稿日:2017/01/18 11:08:01  ID:p9TLQNPi0.n
質問の仕方が間違ってるかと。


とりあえず return が無いからエラーでるな。
コメント1件

541
デフォルトの名無しさん (ドコグロ MMe3-S8Zq)[sage]   投稿日:2017/01/18 11:12:01  ID:5+QtbuoXM.n
>539
何をやってどうなって欲しいのがどうなったかくらい書こうよ

542
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/18 11:15:22  ID:NzS4tvDO0.n(2)
scanf("%d", &d[i]);
コメント1件

543
デフォルトの名無しさん (JP 0Hf2-dHfL)[sage]   投稿日:2017/01/18 13:20:22  ID:VNRYcAN1H.n
何がいけないの?

544
デフォルトの名無しさん (ワッチョイ 1f7b-lDPz)[sage]   投稿日:2017/01/18 14:57:19  ID:AiIDzBtL0.n
セグメンテーションフォールト

545
デフォルトの名無しさん (フリッテル MMce-xA2o)[sage]   投稿日:2017/01/18 14:58:24  ID:pHJgjtGxM.n
>539
scanfの第二引数がポインタじゃなく値を渡してるのがいけない
コメント1件

546
デフォルトの名無しさん (ワッチョイ c3dc-0v0L)[sage]   投稿日:2017/01/18 15:24:14  ID:kHLvx3oS0.n
>539 本当に初心者かなぁ。

main() の関数終了の閉じ波カッコがないという引っ掛け問題じゃないのか。

547
デフォルトの名無しさん (ワンミングク MMe2-IBT7)[]   投稿日:2017/01/18 15:28:19  ID:w2Ge5miGM.n
なんとなく
d[i]+1 は
d[i+1]な気がする
もちろんどっちでもエラーにはならないない

548
デフォルトの名無しさん (ワッチョイ 1f7b-cG99)[sage]   投稿日:2017/01/18 16:31:10  ID:y5PvnF5k0.n
>540
>とりあえず return が無いからエラーでるな。
初心者は解答しないように

549
デフォルトの名無しさん (ワントンキン MMe2-STcG)[sage]   投稿日:2017/01/18 20:11:44  ID:S41kFDpWM.n
戻り値必要だよな。

550
デフォルトの名無しさん (ワッチョイ b20b-0Plu)[sage]   投稿日:2017/01/18 20:39:43  ID:24H6FiaC0.n
mainに戻り値は必要じゃないです
書かなければ0を返すと保証されてます

551
デフォルトの名無しさん (ワッチョイ 2f3c-dHfL)[sage]   投稿日:2017/01/18 20:45:09  ID:sCxzsbAt0.n(2)
C++ じゃなく C でもそうだっけ?
コメント1件

552
デフォルトの名無しさん (ワンミングク MMe2-SqzF)[sage]   投稿日:2017/01/18 21:01:22  ID:0GSOJvhdM.n
>551
c99からは
コメント1件

553
デフォルトの名無しさん (ワッチョイ 2f3c-dHfL)[sage]   投稿日:2017/01/18 21:06:51  ID:sCxzsbAt0.n(2)
>552
ありがとう
C++環境でCコーディングしてるだけのケースが多々あって
実はそれC++だけ に嵌ってるかと思って

554
デフォルトの名無しさん (ワッチョイ 12cb-q48i)[sage]   投稿日:2017/01/18 22:01:46  ID:goP4qmTy0.n
「俺の知ってるバージョンがそういう仕様だからそれが常識だ!!」

555
デフォルトの名無しさん (ワッチョイ 4f42-q48i)[sage]   投稿日:2017/01/18 22:08:07  ID:NzS4tvDO0.n(2)
値を返さないmainってなんだか気持ちが悪い

年寄りだから許して

556
デフォルトの名無しさん (ワッチョイ 3217-q48i)[sage]   投稿日:2017/01/18 22:38:02  ID:ekivbMLx0.n
>542>545が正解

557
デフォルトの名無しさん (ワッチョイ f37b-aKms)[sage]   投稿日:2017/01/18 23:16:18  ID:YJRB0oa00.n
省略可能なものは省略しない
それが俺のジャスティス

558
デフォルトの名無しさん (ブーイモ MM8b-ws9s)[sage]   投稿日:2017/01/18 23:34:18  ID:qZpBfO5GM.n
longとか省略せずに、auto signed long intと書いてるか?
コメント1件

559
デフォルトの名無しさん (ワッチョイ cfba-Taza)[sage]   投稿日:2017/01/19 00:00:05  ID:NeX58ZmE0.n
値返すよって最初に言っといて返さないのは詐欺だから許せない!main()であっても

暗黙の動作が規定されるほど縛りが多くなってCで書く旨味が減ってくると思うんだけどな
あと可変引数とか割とアクロバットな関数を最初に習うのは嫌がらせだと思う
stdioはゲッツとかも失敗して学べ的な修行のためにあるんだろうか、std*から外しても良いくらいだと思う
main()の戻り値保証するより標準関数を整備しないのか、まあ今更の言語だけども…
以上愚痴でした

560
デフォルトの名無しさん (ワッチョイ 737b-EU0b)[sage]   投稿日:2017/01/19 00:30:32  ID:k8vd3mrR0.n
>558
ネタだと思ってるんだろうけど真面目な話で「紛れの無い書き方」を意識してる
型なんてどうせtypedefの一行でしか書かないし手間でも何でもないから全て明示する
あーそれとautoは別の用途で使われだしたから書いちゃダメよ
コメント1件

561
デフォルトの名無しさん (ブーイモ MM27-xQI9)[sage]   投稿日:2017/01/19 01:31:07  ID:LPaFmeuyM.n
>560
c++じゃなくて?

562
デフォルトの名無しさん (アウアウカー Sac7-DPdO)[sage]   投稿日:2017/01/19 08:41:12  ID:NZqa4lWfa.n
autoを書く是非はどうでもいいけど、別用途なんて初めて聞いたわ
c++で書く似非cならあるんだろうけど

563
デフォルトの名無しさん (フリッテル MMff-p+z4)[sage]   投稿日:2017/01/19 12:48:24  ID:DrepgePAM.n
省略できるものは省略しない
暗黙的に使えるものでも明示的に使う
ってCだと定石かと
不慮の事故を防ぐ
定数型は今時stdint.hで定義済みのものしか危険で使わないし

564
デフォルトの名無しさん (JP 0Hc7-xQI9)[sage]   投稿日:2017/01/19 13:11:03  ID:XHrL8OB2H.n
教条的に盲従するやつがいるから、原則とかスタイルとかにとどめとけ

565
デフォルトの名無しさん (ワッチョイ 03e3-JCkM)[]   投稿日:2017/01/19 20:42:15  ID:7H+jgSV10.n
goto不要論もだな

566
デフォルトの名無しさん (ワッチョイ ff17-SmTw)[sage]   投稿日:2017/01/19 22:05:39  ID:sNNglGQF0.n
gotoは使い方次第でとてもコードをスッキリ書けるので条件付きで使っても可
・関数内に閉じている事
・上から下への一方行である事
コメント2件

567
デフォルトの名無しさん (ワッチョイ 037b-rTuY)[]   投稿日:2017/01/19 22:31:28  ID:bO+XZlhy0.n
goto C言語なら要るよね。

568
デフォルトの名無しさん (ワッチョイ cf7b-PnnS)[sage]   投稿日:2017/01/20 01:15:25  ID:/ixeQkYS0.n
Linuxでは、gotoを使って、関数の最後に、エラー処理をまとめて書く

569
デフォルトの名無しさん (ワッチョイ 634a-jjzP)[sage]   投稿日:2017/01/20 01:27:35  ID:1c/0Zcpc0.n
>566
関数内で閉じないgotoってあるの?

570
デフォルトの名無しさん (ワッチョイ ff5b-516J)[sage]   投稿日:2017/01/20 03:04:22  ID:xcR109kr0.n
goto 使うプロなんか居ねえよ
コメント1件

571
デフォルトの名無しさん (JP 0H27-Up5i)[sage]   投稿日:2017/01/20 08:39:58  ID:Nvso2zBqH.n
gotoで出る変数初期化漏れのバグとか見たら使いたくなくなるわ

572
デフォルトの名無しさん (ワッチョイ cf4f-3qL8)[sage]   投稿日:2017/01/20 08:47:09  ID:qkw/qgqA0.n
初期値の代入ではなく?
初期化が漏れるって宣言を飛ばすことになると思うんだけども
コメント1件

573
デフォルトの名無しさん (ドコグロ MM47-nqcr)[sage]   投稿日:2017/01/20 10:01:48  ID:k1jTWx+qM.n
gotoは使い方によっては読みやすくなるけどなぁ
規約で禁止されちゃってること多いけど

574
デフォルトの名無しさん (ワンミングク MM9f-BwFa)[]   投稿日:2017/01/20 12:43:30  ID:BB/TuuEfM.n
gotoは生理的に受け付けないわ

575
デフォルトの名無しさん (ワッチョイ 237b-rTuY)[]   投稿日:2017/01/20 12:45:09  ID:B3YDppGR0.n

576
デフォルトの名無しさん (アウアウカー Sac7-DPdO)[]   投稿日:2017/01/20 12:54:36  ID:8UbAIdNoa.n
>572
VLA以外は宣言飛ばしても問題ないはず
初期化していないから、不定値なだけ

577
デフォルトの名無しさん (ササクッテロル Sp87-5ScM)[sage]   投稿日:2017/01/20 23:17:46  ID:axiV8iWTp.n
>570
沢山いるよ

578
デフォルトの名無しさん (ワッチョイ 737b-EU0b)[sage]   投稿日:2017/01/20 23:33:36  ID:Cg6WMpCY0.n
goto必須な言語のgotoとは別物だから
もっと便利なフロー制御構造がある中でのgotoだし実は使いどころは少ない
だからこそ効果的なところで>566のように問題のない使い方で便利に使えばいい
ハナから拒否る必要も特別視する必要もない

579
デフォルトの名無しさん (ワッチョイ cf7b-rTuY)[]   投稿日:2017/01/20 23:41:09  ID:esT1VQmf0.n
Cよりgotoが必要な言語なんて無くね?

580
デフォルトの名無しさん (ワッチョイ 2342-SmTw)[sage]   投稿日:2017/01/20 23:53:52  ID:95+4MF/b0.n
べーしっくん

581
デフォルトの名無しさん (ワッチョイ 0f48-BwFa)[]   投稿日:2017/01/21 00:18:42  ID:ceXo2OiN0.n
すぽぽぽーん!

582
デフォルトの名無しさん (ワッチョイ 6378-AVdH)[]   投稿日:2017/01/21 00:46:42  ID:DSUhNQfN0.n
CとC++の関係について質問です。
C++はCを改良したものだそうですが、
古い方のCを使うメリットはもうないのでしょうか?
それとも別物なのでしょうか?
コメント1件

583
デフォルトの名無しさん (ワッチョイ 83a1-5ScM)[sage]   投稿日:2017/01/21 01:24:11  ID:pcFLx4Ty0.n
別物というか別分野というか
優劣を競うものでは無いのは確か

584
デフォルトの名無しさん (ワッチョイ cf7b-5ScM)[sage]   投稿日:2017/01/21 01:51:39  ID:RmTA4cQd0.n
C++は古いバージョンのCのフォーク
時々新しいCにリベースしてる

585
デフォルトの名無しさん (ワッチョイ 033b-uAub)[sage]   投稿日:2017/01/21 09:50:14  ID:B+4iZq8B0.n
CとC#の関係について質問です。
C#はCを改良したものだそうですが(ry

586
デフォルトの名無しさん (ワッチョイ 6302-lIVJ)[sage]   投稿日:2017/01/21 11:28:38  ID:xB1N0Svq0.n
C言語覚えればリアルなパイオツはつくれますか?
乳見たくてしゃあない
コメント1件

587
デフォルトの名無しさん (ワッチョイ 235b-nqcr)[sage]   投稿日:2017/01/21 11:40:41  ID:JVJ51h9+0.n
>586
おっぱぶでも行ってこい

588
デフォルトの名無しさん (ワンミングク MM9f-cBXx)[sage]   投稿日:2017/01/21 14:21:31  ID:E3hCYHfIM.n
FEMは理解しているの?
コメント1件

589
デフォルトの名無しさん (JP 0H27-Up5i)[sage]   投稿日:2017/01/21 16:14:05  ID:0yByJcs8H.n
>582
C++はCの建て増しだから
使えるなら使ったほうが便利だし、無いならCの不自由さを我慢して使うだけ

Cの方が小さくて身軽な分、狭いところへも潜っていけるという強みならある

590
デフォルトの名無しさん (ワッチョイ ff17-SmTw)[sage]   投稿日:2017/01/22 15:18:21  ID:Yl4nAGke0.n
C++は高水準言語
Cは中水準言語(昔はCも高水準言語と呼ばれてた)

Cはコンパイル後のアセンブラをそれなりに意識した組み方ができるところが最大の魅力

591
デフォルトの名無しさん (ワッチョイ 6f13-3qL8)[sage]   投稿日:2017/01/22 16:16:28  ID:2ikRDhsq0.n(2)

592
デフォルトの名無しさん (ワッチョイ cf33-AyJn)[]   投稿日:2017/01/22 16:20:10  ID:3ymhMJps0.n
言語視点から言えばCはC++の基底部分。
機能視点なら、CはC++のサブセット。
Cを文法のベースにしている言語は、C++以外にも多いと思う。(perl、java、js、C#、obj-C、etc.)
Cだけしか使えない環境って、もうあまり無いと思うけど、いろいろな理由から仕事上の約束として、「Cに限る」としている場合は結構あるかな。
例えば、組み込みの基礎部分にはC一択。プログラム時もリンク時も、メモリアドレスをハンドリングしやすいから。

結論:
Cが即戦力として必要になるかはケースバイケースだが、個人の技能を高めるための知識としては、知っておいて損は無いと思う。

但し:
Cだけを勉強するという方法を取らなくとも、上記言語を複数使っているうちに、結果的にある程度C部分が身につく気はする。
コメント1件

593
デフォルトの名無しさん (ワッチョイ 6f13-3qL8)[sage]   投稿日:2017/01/22 16:27:58  ID:2ikRDhsq0.n(2)
>592
>perl、java、js、C#、obj-C、etc.
obj-C 以外には「ポインタ」という考え方がない
コメント1件

594
デフォルトの名無しさん (ドコグロ MM07-uAub)[sage]   投稿日:2017/01/22 21:35:27  ID:VMIoxFghM.n
>593
perl だとリファレンスだけど同じものだよ。

595
デフォルトの名無しさん (ワッチョイ ff17-SmTw)[sage]   投稿日:2017/01/22 22:16:15  ID:qcD1gAA30.n
perlはアドレスに対する加減算の自由なアクセスができないからポインタとは言えないんじゃないかな。

596
デフォルトの名無しさん (ワッチョイ ff5b-516J)[sage]   投稿日:2017/01/22 22:27:28  ID:UAB908k/0.n
javaみたいなオブジェクト指向は、ポインタを元にして発展しただけだろう。
アクセス自体がポインタ参照みたいなもんだろう。

597
デフォルトの名無しさん (アウアウカー Sac7-DPdO)[sage]   投稿日:2017/01/22 22:57:31  ID:+baTcR6ha.n
c#はポインタあるな

598
デフォルトの名無しさん (ワッチョイ c33c-lIVJ)[sage]   投稿日:2017/01/22 23:52:11  ID:Zj18/PLE0.n
AndroidアプリってC言語でも作れるんですね
今独学で基礎から勉強中なので頑張ります

599
デフォルトの名無しさん (ワッチョイ 83a1-5ScM)[sage]   投稿日:2017/01/23 00:38:51  ID:ayLfxszv0.n
是非頑張って下さい

600
デフォルトの名無しさん (ドコグロ MM7f-j6UX)[sage]   投稿日:2017/01/23 08:20:50  ID:mc6Hyr1KM.n(3)
またオレオレ定義のポインタで言い争うのか?

601
デフォルトの名無しさん (ワッチョイ ff17-SmTw)[]   投稿日:2017/01/23 09:04:57  ID:Zl63m0Rj0.n
https://twitter.com/hiromu1996/status/822832230007390208
 法人番号を数値で保持していて、印字するときにミスったのであろうと思われる、心あたたまるバグの例です
 https://pbs.twimg.com/media/C2tJinLUAAI3_IG.jpg

602
デフォルトの名無しさん (ドコグロ MM7f-j6UX)[sage]   投稿日:2017/01/23 12:55:51  ID:mc6Hyr1KM.n(3)
C言語になんの関係が...

603
デフォルトの名無しさん (フリッテル MMff-p+z4)[sage]   投稿日:2017/01/23 14:10:03  ID:B8NHXXX/M.n
試験が甘すぎる
全然心温まる話しちゃうわ

604
デフォルトの名無しさん (JP 0H1f-3qL8)[sage]   投稿日:2017/01/23 14:26:42  ID:jBIQNKZQH.n
char n[7];

char i;

int cnt = 0;
for(i = 0;i < 7;i++){
scanf("%s", n[i]);
if(strcmp("no" == n[i]))
cnt++;
}

printf("%d", cnt);
ド素人です
strcmpの使い方がわかりません
どこがいけないの?
コメント2件

605
デフォルトの名無しさん (ワッチョイ 8fd4-4Kfo)[sage]   投稿日:2017/01/23 14:36:38  ID:y6xecmuF0.n
  |
  |
  |
  J

606
デフォルトの名無しさん (ドコグロ MMff-nqcr)[sage]   投稿日:2017/01/23 14:43:41  ID:AYi5lVylM.n
>604
利用例はググれば出てくるんで
それ見てからどうぞ

607
デフォルトの名無しさん (ワッチョイ ff5b-516J)[sage]   投稿日:2017/01/23 15:47:52  ID:V1f/l7L40.n
配列操作はポインタ派か添え字派で分かれるな。


俺はポインタ派だ!

608
デフォルトの名無しさん (フリッテル MMff-p+z4)[sage]   投稿日:2017/01/23 16:39:16  ID:uQGAPPOFM.n(2)
✕: char n[7];
○: char n[7][256];

✕: strcmp(

609
デフォルトの名無しさん (アウアウカー Sac7-Taza)[sage]   投稿日:2017/01/23 16:39:48  ID:ICmFMePta.n
動的配列でもアクセスは添え字だよなあ

610
デフォルトの名無しさん (フリッテル MMff-p+z4)[sage]   投稿日:2017/01/23 16:40:45  ID:uQGAPPOFM.n(2)
✕: char n[7];
○: char n[7][256];

✕: strcmp("no" == n[i])
○: strcmp("no", n[i])
コメント1件

611
デフォルトの名無しさん (ワッチョイ b3dc-AO4H)[sage]   投稿日:2017/01/23 17:24:28  ID:zKyJpw850.n
>610 strcmp の返す値のブール解釈が逆にならんか?
一致すれば0、不一致なら非0、俺も毎度引っかかるのだけど。

612
デフォルトの名無しさん (ワッチョイ cf4f-3qL8)[sage]   投稿日:2017/01/23 17:34:59  ID:TVEb5yq70.n
一致・不一致の2状態ではなく
辞書順における大小を符号つけての3状態を取り扱ってるから、そうなっちゃうん

613
デフォルトの名無しさん (スッップ Sd1f-Lt7C)[sage]   投稿日:2017/01/23 17:55:33  ID:NnVUMG+Yd.n(2)
コンソール上で動くプログラムを作ってるのですが
scanf等で文字入力をしてもらう時に
コンソール上にエコーバックさせないようにしたいです

開発環境はMacBookですが色々調べてると
ioctlでそれが実現できるようで、、、
ただサンプルプログラム見ながらやってるのですが
termios.h
のincludeでそんなヘッダーファイルなどないと怒られてしまいます

やむなく自分でtermios構造体を実装して
ECHOなどの定数も自分で定義してやってみたのですが
エラーは出ないもののエコーバックはされてしまいます

なのでどうにかして正規の方法で実現したいのですが
temios.hはどうやって読み込むのでしょうか?
コメント1件

614
デフォルトの名無しさん (ドコグロ MM7f-j6UX)[sage]   投稿日:2017/01/23 18:47:39  ID:mc6Hyr1KM.n(3)
>604
開発環境がわからんけどとりあえず警告レベルは最大にしとけ

615
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK47-o4cX)[sage]   投稿日:2017/01/23 19:00:19  ID:ydV3yb7gK.n
>613
ncurses使っとけ
コメント1件

616
デフォルトの名無しさん (スッップ Sd1f-Lt7C)[sage]   投稿日:2017/01/23 19:28:59  ID:NnVUMG+Yd.n(2)
>615
ありがとうございます
そういうものがあるというのを知れたのは収穫ですが
出来るはずのことが出来ていないこの状況のまま放置して
別の方法を試すのはよくないと思うので
引き続きioctlでやる方法を知りたいです
コメント1件

617
デフォルトの名無しさん (ワッチョイ 2342-SmTw)[sage]   投稿日:2017/01/23 20:07:28  ID:IjK09lgG0.n
>616
Xcodeはインストールされているんだよね?
terminal 起動して、/usrの下にincludeディレクトリはある?
無い時は、Command Line Tools for Xcode をインストールすればいいよ
Appleのサイトからダウンロードできるから

618
デフォルトの名無しさん (JP 0H1f-3qL8)[sage]   投稿日:2017/01/24 14:25:51  ID:s5yedK4vH.n
char s[32], t[32];
scanf("%s", s);

scanf("%s", t);

if(strcmp(s, t) == 0)
puts("Yes");
else
puts("No");
return 0;
これ、何処が間違いですか?
コメント2件

619
デフォルトの名無しさん (ワッチョイ cf4f-3qL8)[sage]   投稿日:2017/01/24 14:29:35  ID:HgJt/pLf0.n
また、どこが間違ってる君か

620
デフォルトの名無しさん (ワッチョイ 6f13-3qL8)[sage]   投稿日:2017/01/24 16:22:57  ID:KbL3L2m80.n
>618
s や t に 32バイト分よりも多く入力されたらどうなるの?

621
デフォルトの名無しさん (ワッチョイ 637b-jh1Y)[sage]   投稿日:2017/01/24 16:41:37  ID:trMEtGhx0.n
平行宇宙の扉が開きます

622
デフォルトの名無しさん (JP 0H27-Up5i)[sage]   投稿日:2017/01/24 17:16:17  ID:tjYeiy24H.n
みんな大好き任意コード実行の世界へようこそ

623
デフォルトの名無しさん (JP 0Hc7-xQI9)[sage]   投稿日:2017/01/24 17:38:04  ID:kW6JMx9eH.n
オーソドックスに鼻から悪魔でいいじゃん

624
デフォルトの名無しさん (ワッチョイ ff17-SmTw)[sage]   投稿日:2017/01/24 23:14:40  ID:9a2CfgHX0.n
>618
間違ってないよ
普通にコンパイル通るし
普通に入力、比較、表示される

625
デフォルトの名無しさん (ワッチョイ b3dc-AO4H)[sage]   投稿日:2017/01/25 06:20:28  ID:e9Bh0UQ80.n
「鼻から悪魔」だとプログラマ同士でのうっかりミスの指摘、
別環境に移植する時かコンパイラのバージョンアップ時にでも
こっそり直しとけばいいかなって感じだけど、

「任意コード実行」と言われるとセキュリティ上の重大な弱点、
今すぐ修正版を配布しなくちゃ、という気がするな。

626
デフォルトの名無しさん (ワッチョイ 637b-voKO)[sage]   投稿日:2017/01/25 08:00:21  ID:m0OoWaNd0.n(2)
「このプログラムに31文字を超える文字列を与えてはいけません。与えた場合の動作は不明です」とかいとけば「使用」通り
コメント2件

627
デフォルトの名無しさん (ドコグロ MMff-nqcr)[sage]   投稿日:2017/01/25 08:03:00  ID:o3R3B2w3M.n
>626
そこで漢字間違えるなよ

628
デフォルトの名無しさん (ドコグロ MMff-j6UX)[sage]   投稿日:2017/01/25 08:21:18  ID:fntd/u0oM.n(2)
>626=>525
なんだろ
よっぽど悔しかったんだろうな w
コメント1件

629
デフォルトの名無しさん (ワッチョイ 037b-rTuY)[]   投稿日:2017/01/25 08:23:40  ID:5KwEWhG70.n
このプログラムはプロしか実行してはいけません
ってのも書いとかないとな。

630
デフォルトの名無しさん (ワッチョイ 637b-voKO)[sage]   投稿日:2017/01/25 08:37:14  ID:m0OoWaNd0.n(2)
>628
「使用書」書けるようになったか?w

631
デフォルトの名無しさん (ドコグロ MMff-j6UX)[sage]   投稿日:2017/01/25 12:43:42  ID:fntd/u0oM.n(2)
本人か?
そこまで粘着するとは思わなかったが w

632
デフォルトの名無しさん (エーイモ SE1f-Fg9w)[sage]   投稿日:2017/01/25 16:05:19  ID:3mED4RljE.n
clangなんですけど
linuxとwindowsとmacで動かすものを作る場合
stdio.hとか標準ヘッダーだけを使っておけば固有の書き方しなくても問題ないですか?

633
デフォルトの名無しさん (ガックシ 067f-J7L1)[]   投稿日:2017/01/25 16:48:33  ID:2OzyrQrs6.n(3)
linuxを使っています。

時間を精密に測ろうとclock()を使ってみました。
エンターキーを押したタイミングを保存するために

clock_t c1, c2, trigger;
int i;

c1 = clock();

getchar();
trigger = clock();

for(i = 0; i < 1e+9; i++);
c2 = clock();

printf(
コメント1件

634
デフォルトの名無しさん (ガックシ 067f-J7L1)[]   投稿日:2017/01/25 16:51:47  ID:2OzyrQrs6.n(3)
切れてますね。。。
続きです

printf("%f\n%f\n", (double)(trigger - c1)/CLOCKS_PER_SEC, (double)(c2 - c1)/CLOCKS_PER_SEC);

で、出力は
0.000038
2.210428
でした。getchar()の間はclock()が止まってしまうようです
conio.hが使えないためkbhit()は使えません。
何か方法は無いでしょうか?

635
デフォルトの名無しさん (ワッチョイ 7ffa-0CED)[]   投稿日:2017/01/25 16:58:44  ID:n0VSo+RY0.n
そういうことをしたいならノンブロッキングモードにしなきゃだめじゃないかな。
あるいはエンターキーじゃなくて ^C を使うとか。
コメント1件

636
デフォルトの名無しさん (ワッチョイ 7f6c-3qL8)[sage]   投稿日:2017/01/25 17:03:14  ID:nzinNv500.n
精密ってどれくらいにもよるけど、通常のlinuxでは
I/Oイベントの時刻を正確には拾えないんじゃないかな
コメント1件

637
デフォルトの名無しさん (ワッチョイ cf4f-3qL8)[sage]   投稿日:2017/01/25 17:15:04  ID:JtfgTFTK0.n
c1 と trigger の間ブロッキングしてても、ブロック中の時間経過分が
加味されて clock() が戻って欲しいってことかな

trigger - c1 が ゼロに近い値になってしまってて、明らかに待ってるってのに
ブロック中の時間経過は無しとして見えてるんじゃ使い難い と。
コメント1件

638
デフォルトの名無しさん (ガックシ 067f-J7L1)[]   投稿日:2017/01/25 17:24:07  ID:2OzyrQrs6.n(3)
>635
ノンブロッキングモードというのは初めて聞きました。
調べてみます。
ありがとうございます!

>636
できればミリ秒単位で正確に知りたいのですが、おいおい考えていきます。

>637
そういうことです
説明が分かりにくくてすみません。。。

639
デフォルトの名無しさん (ワンミングク MM9f-rTuY)[]   投稿日:2017/01/25 18:00:14  ID:1iFNjtVTM.n
clockはプログラムが使用したCPU時間を返す。
ユーザー入力待ち中はCPUは殆ど寝てるので変わらない

640
デフォルトの名無しさん (ドコグロ MM47-qMwn)[sage]   投稿日:2017/01/25 18:03:13  ID:ailJH66eM.n
エンターを待ちたいんだからノンブロッキングにしたらダメ。
そのレスはスルーすべき

641
デフォルトの名無しさん (ワッチョイ ff17-SmTw)[sage]   投稿日:2017/01/25 22:20:09  ID:G8iMNdQB0.n
>633
gettimeofday()でどう?
コメント1件

642
635 (ワッチョイ 8afa-jt4/)[]   投稿日:2017/01/26 06:14:45  ID:2AOY7GkW0.n
ごめん、ちょっと勘違いした。こういうことかな。一応試してみた。

struct timeval tv[3];
int i;
gettimeofday( &tv[0],NULL);
getchar();
gettimeofday( &tv[1],NULL);
for(i = 0; i < 1e+9; i++);
gettimeofday( &tv[2],NULL);
for ( i = 0; i < 3; i++){ printf("%lu %09lu\n",tv[i].tv_sec,tv[i].tv_usec); }

643
デフォルトの名無しさん (ワッチョイ 1fdc-9HlY)[sage]   投稿日:2017/01/26 07:58:36  ID:5UtgO6zk0.n
gettimeofday() はもう古い、時代は clock_gettime()
とか man gettimeofday に出てるけど、どうなんだろ?

手元の環境だとどっちもデフォルトで使えるみたいだが。

644
デフォルトの名無しさん (ガックシ 06a6-Gp01)[]   投稿日:2017/01/26 09:57:05  ID:FKQz8ib86.n
>641-643
ありがとうございます!
おかげでかけました。

645
デフォルトの名無しさん (JP 0H9f-k1qt)[sage]   投稿日:2017/01/26 13:26:41  ID:EVgQFY4KH.n(4)
http://imgur.com/IPddjjy
写真で申し訳ありません。
うちの大学の先生が書いたC言語のソースコードなのですが、
その先生が参考にしたというC言語の入門書を読んでもさっぱり理解できませんでした。
有名な出版社の本に載っていたので、コードが間違ってるとも思えないですし、
どなたか分かりやすく解説していただけないでしょうか?
コメント1件

646
デフォルトの名無しさん (JP 0H7b-McLA)[sage]   投稿日:2017/01/26 14:42:46  ID:DgVQa7PhH.n
Cのコードとしては何もかも間違ってるね
何か別の概念をCっぽく書こうとしただけじゃないのか

その先生にこれは何をするものか聞いてみたら?
コメント1件

647
デフォルトの名無しさん (ワッチョイ 7e7b-316P)[sage]   投稿日:2017/01/26 14:50:07  ID:++maIYxb0.n(2)
たぶん、誤植だろ

それは、滅茶苦茶な関係のないコード

648
デフォルトの名無しさん (ワッチョイ 7e7b-316P)[sage]   投稿日:2017/01/26 14:54:53  ID:++maIYxb0.n(2)
ああ、間違い探しのクイズか

何か所、間違いがあるか、言ってみようというクイズ

649
デフォルトの名無しさん (JP 0H9f-k1qt)[sage]   投稿日:2017/01/26 15:31:12  ID:EVgQFY4KH.n(4)
>646
塩基配列(UCGA)を G=1 それ以外=0 と置き換えるプログラムらしいです
講義などでも特に何も言わずに出してるので、誤植があるとも思えません・・・
ちなみに言語はCで合っているそうです
コメント1件

650
デフォルトの名無しさん (ワッチョイ 7e4f-AZYz)[sage]   投稿日:2017/01/26 16:01:52  ID:J7ExVqTO0.n(2)
変数名に - 含んでるから C言語じゃない 文法エラー

651
デフォルトの名無しさん (フリッテル MM76-Tu13)[sage]   投稿日:2017/01/26 16:15:01  ID:HMBMCFYQM.n
>649
>ちなみに言語はCで合っているそうです
いやいや間違えてるから
++++なんて演算子無いし
整数型に浮動小数点数入れようとしてるし
コメント1件

652
デフォルトの名無しさん (JP 0H9f-k1qt)[sage]   投稿日:2017/01/26 16:31:34  ID:EVgQFY4KH.n(4)
>651
そうですよね、それは私も疑問に思ってました。
特殊な用法があるのかと解釈してましたが、違うみたいですね・・・

C言語でないとすれば、どのような言語がこのような書き方をするのでしょうか?

653
デフォルトの名無しさん (ブーイモ MMca-McLA)[sage]   投稿日:2017/01/26 17:14:39  ID:MclODevVM.n(3)
誤植に決まってる
#includeしてる時点でC確定だ
でforの中身がreturnって、何もするつもりもないということ
先生も理解してないんだろこれ
講義の進行上どうしてもそのプログラムが必要なんだったら
中身を説明してくれと詰め寄るしかない
どうでもいいんなら先生のメンツを立ててそっとしておいてやれ
コメント1件

654
デフォルトの名無しさん (オッペケ Sr13-kdTZ)[sage]   投稿日:2017/01/26 17:25:28  ID:j2cjbmu2r.n
OSがマックでコンパイラはターミナルです。
ガイジ並みに初心者ですみませんが、
たとえばコマンドライン引数にPlus[Times[Sin[13.4],3],2]
って入力してそれを木構造にいれて計算するプログラム作りたいです。
例えば+-38-*876-みたいに一文字ずつ入れるやつならできるんですが、単語レベルで読み取って木構造に入れる方法がわかりません。
使う関数は決まっていて、
Plus[x,y]=x+y
Times[x,y]=x*y
Subtract[x,y]=x-y
Divide[x,y]=x/y
Sin[x]
Cos[x]
Exp[x]
Log[x]
Power[x,y]=xのy乗
って感じです。
誰か教えてくださいませんか。
コメント1件

655
デフォルトの名無しさん (ワッチョイ 7e4f-AZYz)[sage]   投稿日:2017/01/26 17:39:52  ID:J7ExVqTO0.n(2)
一文字ずつ入れるやつのしくみを 一文字→連結したまとまり:単語 に拡張しておく
単語かどうかの切り出しは
 仮に1文字ピックアップして それまでの単語の続きかどうかを判断
 続きであれば連結して次の文字へ
 続きでなければ一旦その文字を返却し それまで連結したものが1かたまり確定

※ 再帰下降で規定できる形かは・・・ どうなんじゃろ?

656
デフォルトの名無しさん (ブーイモ MMca-McLA)[sage]   投稿日:2017/01/26 17:48:27  ID:MclODevVM.n(3)
lexとyaccで一発(ってほど簡単じゃないけど)だろ

657
デフォルトの名無しさん (JP 0H9f-k1qt)[sage]   投稿日:2017/01/26 18:28:12  ID:EVgQFY4KH.n(4)
>653
本人は何度も確認した、誤植ではない、と言っていたので、
やはり先生が理解していない可能性が高そうです・・・。

詳しく質問するにしても、あまり良い噂を聞かない先生ですし、
因縁を付けられるのも恐いので、そっとしておこうと思います。
みなさん、ありがとうございました。
コメント1件

658
デフォルトの名無しさん (ドコグロ MMa6-8UQW)[sage]   投稿日:2017/01/26 18:34:22  ID:GoiJIG7TM.n
>654
まずそれC言語でないとダメなのか?
文字列処理が多いからスクリプト言語とかそれでなくてもC++とかの方が余計なことに気を使わなくてすむぞ

659
デフォルトの名無しさん (エーイモ SE6a-EQ2H)[sage]   投稿日:2017/01/26 18:45:23  ID:Aov2hARvE.n
#include <stdio.h>

int main()
{
if (1) {
printf("%d", 1);
} else {
printf("%d", 0);
}

return 0;
}
これをclang -g hello.cしてgdb a.outしたあと
b 5
r
n
n
ってやると最後に
__libc_start_main (main=0x400510 <main>, argc=1, argv=0x7fffffffde28, init=<optimized out>,
fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde18) at libc-start.c:321
321 libc-start.c: そのようなファイルやディレクトリはありません.
って出るんですけどこれはどういうことですか?

660
デフォルトの名無しさん (ブーイモ MMca-McLA)[sage]   投稿日:2017/01/26 18:50:32  ID:MclODevVM.n(3)
mainを抜けてライブラリ内のコードを実行してるけどソースがなくて表示できない状態
コメント1件

661
デフォルトの名無しさん (フリッテル MM76-Tu13)[sage]   投稿日:2017/01/26 18:59:25  ID:7ifRgzM2M.n
>657
大学の研究室ってところは恐ろしいよな
教授は王様見たいなもんだからねぇ
下手に指摘して本当に目つけられたら卒業自体怪しくなる
本当怖い
コメント1件

662
デフォルトの名無しさん (ワッチョイ 2a9f-nHvD)[sage]   投稿日:2017/01/26 19:19:14  ID:aVTKdlq30.n
超絶マクロかもしれないのに断片だけ見せられても何とも言えないだろ

663
デフォルトの名無しさん (ワッチョイ aa5b-VFvX)[sage]   投稿日:2017/01/26 19:48:38  ID:hrRQQixV0.n
見た感じゲノム解析とかだろ?

普通のCコンパイラじゃ無いと思うよ。

664
659 (エーイモ SEd7-EQ2H)[sage]   投稿日:2017/01/26 20:52:38  ID:4GezNjHpE.n(2)
>661
これは問題ないんですね気にしないでおきます

665
659 (エーイモ SEd7-EQ2H)[sage]   投稿日:2017/01/26 20:52:59  ID:4GezNjHpE.n(2)
アンカーミス
>660
ありがとうございました

666
デフォルトの名無しさん (ワッチョイ 6b7b-1tcs)[sage]   投稿日:2017/01/27 13:56:10  ID:jIlJlrUs0.n
>645
include "mirna-21.h"
でググルとそれらしきコードの断片が出てくるな
誤植じゃなさそう C言語風の何かだな
質問者は東大君か

誤植に決まってるキリッ
とかつられたアホウは反省するように

667
デフォルトの名無しさん (ワッチョイ 2a90-McLA)[sage]   投稿日:2017/01/27 14:08:49  ID:JO+Hx8dx0.n
名古屋市大だろ

668
デフォルトの名無しさん (ワッチョイ 0f4e-CdMM)[sage]   投稿日:2017/01/27 14:13:27  ID:7MaR5lKL0.n
不思議すぎるなw

669
645 (JP 0H07-qfIj)[sage]   投稿日:2017/02/02 17:01:03  ID:Vc1SILDSH.n
今更だとは思いますが、気になったのでソースコードの詳細を
その先生の研究室の院生さんに聞いてきました(直接質問するのは憚られるので)

そもそもプログラミング以前に、先生にはC言語の基本的な記述ルールや、
デバッグやコンパイルといった最低限必要な知識がほとんどないそうです。
(本人はC言語の本を一冊すべて暗記した、と言い張っているそうですが・・・)

そのため、あのソースコードは皆さんが指摘されたとおり、
全ての行が間違っている、インクを無駄に消費するだけの駄文(院生談)だそうです。

質問ですらないレスで申し訳ありません。ありがとうございました。
コメント2件

670
デフォルトの名無しさん (ワッチョイ cf4f-0MWP)[sage]   投稿日:2017/02/02 17:24:39  ID:Vgr2l0Ko0.n
>669
「インクを無駄に消費するだけの駄文」ってかっけーな

671
デフォルトの名無しさん (フリッテル MMff-pooc)[sage]   投稿日:2017/02/02 18:03:07  ID:pqQ57SepM.n
だろうね
少なくともCの構文とはかけ離れて過ぎ
コンパイル自体通らないよ
例え超絶マクロでもね

672
デフォルトの名無しさん (JP 0He7-CXHw)[sage]   投稿日:2017/02/02 18:56:29  ID:j/3vYI1GH.n

たとえspringerから出版されようが教科書なんてそんなものだ

アメリカになら論文書くより教科書書くのを専門にしてる先生もいて、
改定を繰り返した名著もあるけどね

673
デフォルトの名無しさん (ワントンキン MM1f-zA2L)[sage]   投稿日:2017/02/02 22:47:34  ID:JFoRaqEvM.n
あるプロセスが情報を書き込んでそれを複数のプロセスが読み込む場合、書き込み場所は共有メモリがいいんでしょうか?それともファイルでしょうか?

その情報書き込みと読み込みは頻繁に行われるものではなく数週間にに1回で再起動後は無くなっても構いません。

674
デフォルトの名無しさん (ブーイモ MMc7-CXHw)[sage]   投稿日:2017/02/02 23:32:36  ID:Ch1RuY2tM.n
誰かが勝手にファイルを消したり書いたりする危険が全くないなら
どっちでも好きな方でいいよ
どちらにしてもちゃんとロックしろよ
でないと100年に一度レベルの誤動作が来月起きるかもしれんぞ

675
デフォルトの名無しさん (ワッチョイ 934e-2G09)[sage]   投稿日:2017/02/03 03:31:26  ID:GQ++c1010.n
>669
ヴォイニッチ手稿もそんな感じだろうなと思った

676
デフォルトの名無しさん (ワッチョイ 037b-gmgt)[]   投稿日:2017/02/04 23:04:25  ID:NOwV5iNI0.n(3)
Windows10でMinGWを入れ、環境変数のpathに参照先のディレクトリを入れているのに
コマンドプロンプトでgccが使えません。
なぜでしょうか?
参照先のフォルダにgcc.exeが存在していることは確認済みで、
C:\MinGW\bin\gccでやると使えます。
コメント1件

677
デフォルトの名無しさん (ワッチョイ cf7b-gPBI)[sage]   投稿日:2017/02/04 23:14:44  ID:ognvNw6b0.n
powershell_ise で、
$env:Path.split(";")

とすると、MinGWの行は、どう表示される?

678
デフォルトの名無しさん (ワッチョイ 037b-gmgt)[]   投稿日:2017/02/04 23:25:22  ID:NOwV5iNI0.n(3)
C:\MinGW\bin\
と表示されます

679
デフォルトの名無しさん (ワッチョイ 937b-IpSN)[sage]   投稿日:2017/02/04 23:35:22  ID:EkYaUQh20.n(2)
>676
C:\MinGW\bin\gcc.exe --version
とフルパス実行してみて動くならpathの設定ミス
動かないならパッケージのミス(x32osなのにx64バイナリ入れたとか)

680
デフォルトの名無しさん (ワッチョイ 0f48-nOPp)[]   投稿日:2017/02/04 23:37:20  ID:xXpQSLfH0.n
;と:間違えてるとか微妙にパス名間違えてる

681
デフォルトの名無しさん (ワッチョイ 937b-IpSN)[sage]   投稿日:2017/02/04 23:42:27  ID:EkYaUQh20.n(2)
あーごめんフルパス試してるやん
てことはpathの間違いだろう
echo %path%
の出力を張り付ければすぐにわかるよ

682
デフォルトの名無しさん (ワッチョイ 037b-gmgt)[]   投稿日:2017/02/04 23:57:30  ID:NOwV5iNI0.n(3)
解決致しました。
パスは参照元のを張っていたので間違いはないと思うのですが。
環境変数に
C:\MinGW\bin
で設定していたのですが、
大文字のCではなく小文字のcで設定すると
パスが通る用になりました。
回答してくださった方ありがとうございます。

683
デフォルトの名無しさん (ワッチョイ 7f17-yene)[sage]   投稿日:2017/02/05 00:18:30  ID:rbq9sUhf0.n
Win10ならMinGWやCygwinじゃなくて
Bash on Ubuntu on Windowsがあるよ

684
デフォルトの名無しさん (ワッチョイ 43da-3F/E)[sage]   投稿日:2017/02/05 05:19:00  ID:dW6Jwq600.n
Win10でも32bitOSだと使えないとか…

685
デフォルトの名無しさん (JP 0H9f-0MWP)[sage]   投稿日:2017/02/05 09:19:04  ID:XPcm+oNTH.n
4 324
2 352
3 297
1 392
超初心者です
出席番号と、合計点を入力し
出席番号を1、2、3、4、って順番に並び替えたいんですけど
どうすればいい?
コメント1件

686
デフォルトの名無しさん (ワッチョイ 7f90-CXHw)[sage]   投稿日:2017/02/05 09:38:46  ID:oILHhlOU0.n
ソート

687
デフォルトの名無しさん (ワッチョイ a33b-NQew)[sage]   投稿日:2017/02/05 09:56:21  ID:WXUl8JUq0.n
Excel使えよ

688
デフォルトの名無しさん (ワッチョイ d3dc-0e9Z)[sage]   投稿日:2017/02/05 10:50:45  ID:gNgZtC6x0.n
出席番号と合計点をメンバーにもつ構造体を作って、
その構造体の配列にデータを格納。
構造体の出席番号部分で比較する関数を用意して
qsort() に配列と要素数とsizeof(構造体)と比較関数を渡す。

というのが標準的なやり方かと思うが、
上の説明の各行に初心者が越えなきゃいけないハードルがあるな。

689
デフォルトの名無しさん (ワッチョイ 7f7c-0MWP)[sage]   投稿日:2017/02/05 15:54:34  ID:Lh5FAZTD0.n
出席番号が小さいなら
int型の-1とかで初期化された配列作って埋めていけば良さそうだが...
コメント1件

690
デフォルトの名無しさん (ワッチョイ 7f5b-PzOe)[sage]   投稿日:2017/02/05 16:12:21  ID:do2rVInt0.n
テストの点数で比較してバブルソートすればよい

691
デフォルトの名無しさん (ワッチョイ cf42-yene)[sage]   投稿日:2017/02/05 16:17:51  ID:z02c26Xt0.n
主席番号に重複は無いと思うので、>689のやり方を支持します

692
デフォルトの名無しさん (JP 0H9f-0MWP)[sage]   投稿日:2017/02/06 11:14:28  ID:bjG4OUXsH.n
int a;

int b[a];

こういう書き方できますか?
コメント1件

693
デフォルトの名無しさん (ワッチョイ cf42-yene)[sage]   投稿日:2017/02/06 11:29:09  ID:k/JawEEi0.n
書くことはいくらでもできるだろう

694
デフォルトの名無しさん (ワッチョイ d3dc-0e9Z)[sage]   投稿日:2017/02/06 11:38:13  ID:GvVdGH4O0.n
>692
配列のサイズを実行時に決定したいってことならC99から可能らしい。

695
デフォルトの名無しさん (ワッチョイ 7f7c-yene)[sage]   投稿日:2017/02/06 11:51:33  ID:JXB1LvVi0.n
int a = 4;
int *b = ( int * ) malloc ( sizeof( int ) * a );

696
デフォルトの名無しさん (ワッチョイ cf4f-0MWP)[sage]   投稿日:2017/02/06 12:02:07  ID:Qt2MHonn0.n(2)
スコープ抜けたら開放してくれるような malloc が欲しいと思ったことは何度かある
(alloca が標準関数だったら・・・)
コメント1件

697
デフォルトの名無しさん (ワントンキン MM1f-nOPp)[]   投稿日:2017/02/06 12:30:56  ID:yz/cpsC+M.n
>685
全部自分で書くなら
一番小さい番号探して別の配列または構造体の配列に格納
これをなくなるまで繰り返す

698
デフォルトの名無しさん (ドコグロ MM67-ubpA)[sage]   投稿日:2017/02/06 12:53:24  ID:dJHmfPXIM.n
>696
allocaも関数の終わりまで解放しないような
コメント1件

699
デフォルトの名無しさん (ワッチョイ cf4f-0MWP)[sage]   投稿日:2017/02/06 13:02:54  ID:Qt2MHonn0.n(2)
>698
関数から戻るときに開放だっけ? < alloca
それだと、スコープ抜けたらとは条件が違うか…

大筋それで用途には足るかもだけど

700
デフォルトの名無しさん (アウアウカー Sae7-6l7O)[sage]   投稿日:2017/02/06 18:47:52  ID:Seg8MMVDa.n
それこそ、VLAで良いじゃん
C11からはオプションになったけど

701
デフォルトの名無しさん (フリッテル MMff-pooc)[sage]   投稿日:2017/02/06 19:26:22  ID:vAgxY/wKM.n
メモリの確保と開放は2つで1つ一心同体
コメント1件

702
デフォルトの名無しさん (ワッチョイ 934e-OQSM)[sage]   投稿日:2017/02/06 19:28:41  ID:XMdY3knv0.n
なんかのヒーローものみたいだな

703
デフォルトの名無しさん (ドコグロ MMff-C4Pq)[sage]   投稿日:2017/02/06 21:11:33  ID:VJg+IRhiM.n
>701
プログラム終了直前は free しなくてうんたらかんたら
コメント2件

704
デフォルトの名無しさん (ワッチョイ 7f17-yene)[sage]   投稿日:2017/02/07 01:47:20  ID:ldurXorh0.n
>703
それはOSの機能でCとは関係なし
コメント2件

705
デフォルトの名無しさん (ワッチョイ a37b-0yxR)[]   投稿日:2017/02/07 05:43:33  ID:NKjx6bYj0.n
>704
それを期待してatexitで登録された関数なども呼ばずに即時終了する_Exitも標準にあるから関係ないとまでは言えない

706
デフォルトの名無しさん (ワッチョイ 6f81-0MWP)[sage]   投稿日:2017/02/07 06:52:42  ID:Z7Y+uPLQ0.n
昨日会社でvoidポインタ使ったら怒られたよ。使っちゃダメなの?
コメント1件

707
デフォルトの名無しさん (ワッチョイ 137b-9MYa)[sage]   投稿日:2017/02/07 07:08:38  ID:GEzg1MU70.n
そりゃあ不適切な使い方をしたら怒られもするだろう

708
デフォルトの名無しさん (ワッチョイ 6f13-0MWP)[sage]   投稿日:2017/02/07 07:14:47  ID:+h4n1yps0.n
>706
使い方による,貼ってみろ

709
デフォルトの名無しさん (ワッチョイ 037b-AtEE)[sage]   投稿日:2017/02/07 07:58:13  ID:JROyZiNP0.n(2)
>704
知ったかぶり ミトモない

710
デフォルトの名無しさん (JP 0Hc7-AGuT)[sage]   投稿日:2017/02/07 09:42:56  ID:IHNU1ydFH.n(2)
>703
セットにしては"いけない"例を出せ
コメント2件

711
デフォルトの名無しさん (ワッチョイ cf31-zFB8)[]   投稿日:2017/02/07 10:58:16  ID:A4fl6xaP0.n
guiを設置する所で積む

皆はどうしてるの?専用ソフトとか使ってる?
コメント1件

712
デフォルトの名無しさん (ワッチョイ 0399-AtEE)[sage]   投稿日:2017/02/07 11:40:30  ID:PGzD/t/t0.n
>710
しなくても良い
してはいけない

区別が出来ないバカは死んだ方が良い

713
デフォルトの名無しさん (JP 0Hc7-AGuT)[sage]   投稿日:2017/02/07 12:19:46  ID:IHNU1ydFH.n(2)
>711
not stack, but stuck

714
デフォルトの名無しさん (ドコグロ MM7f-C4Pq)[sage]   投稿日:2017/02/07 12:44:20  ID:ff698yUfM.n
>710
malloc and free netnews
辺りでググってから出直してこい

715
デフォルトの名無しさん (ワッチョイ 6f4d-qds7)[]   投稿日:2017/02/07 20:26:54  ID:TrR1IRB40.n
C言語学ぶ前にアセンブラを先に習得したほうがいい?
C言語のポインタでよくつまずくときくけど、アセンブラを先にやっとけばポインタでつまずくことないって、本当?
コメント5件

716
デフォルトの名無しさん (ワッチョイ 3342-wVGn)[]   投稿日:2017/02/07 20:33:40  ID:ZZufsVw20.n
そんなことはない
コメント1件

717
デフォルトの名無しさん (ワッチョイ c37b-pWqG)[sage]   投稿日:2017/02/07 20:53:23  ID:1VeBPI3R0.n
>715
8085 のアセンブラから c に移行した者ですが
MOV A,M は
A = *M; なので
ポインターの概念には苦労しませんでしたね

718
デフォルトの名無しさん (ワンミングク MM1f-PSyA)[sage]   投稿日:2017/02/07 20:59:44  ID:cTLgA1N6M.n
LEA は&だなとか

719
デフォルトの名無しさん (ワッチョイ 037b-AtEE)[sage]   投稿日:2017/02/07 21:07:47  ID:JROyZiNP0.n(2)
ポインタでつまずかなかったからわからんが、Cより先にアセンブリは習得していた

つまずいた経験があるらしい>716の経験談が聞きたい

720
デフォルトの名無しさん (ワッチョイ b36c-0MWP)[sage]   投稿日:2017/02/07 21:08:03  ID:Q5k0Wut90.n
>715
都市伝説レベル

721
デフォルトの名無しさん (アウアウカー Sae7-aC2u)[sage]   投稿日:2017/02/07 21:15:28  ID:z9Nfo4oVa.n
>715
アセンブラでもC言語でも共通して、メモリアドレスについて理解しなければ書けないってだけ

だからアセンブラが理解できてればポインタ(メモリアドレスに関係する)でつまずかないのはあたりまえ

普通はC言語からやったほうがいいと思うよ
アセンブラは実際に動かして楽しめるプログラムが書けるまでが長すぎる

722
デフォルトの名無しさん (ワッチョイ b3ee-z2sC)[sage]   投稿日:2017/02/07 21:39:21  ID:p6Enp6MA0.n
>715
アセンブラが分かってればCのポインタは簡単に理解できるって話で、ポインタの理解はアセンブラの方がし易いって話ではない
初学者ならCからやればいいと思う
コメント1件

723
デフォルトの名無しさん (アウアウカー Sae7-aC2u)[sage]   投稿日:2017/02/08 09:03:15  ID:5CFRofDQa.n
>715
両方同時にやればいいんじゃない?

724
デフォルトの名無しさん (ワッチョイ c319-1ST5)[sage]   投稿日:2017/02/08 11:02:59  ID:T/lSiKkL0.n
概念では躓かなかったけど記述方法で戸惑った。
特に構造体関連で。

725
デフォルトの名無しさん (ワッチョイ 6f4d-qds7)[]   投稿日:2017/02/08 11:41:50  ID:PF6smBxU0.n
アセンブラは覚える構文が少ないらしく、いきなり核心のメモリアドレスに触れることができるので、
メモリアドレスの操作?仕組み?を理解するのに時間がかからないと思っていました

ここでポイントを押さえておいた上で、Cに入ったほうが効率的かなと思っていました。
コメント1件

726
デフォルトの名無しさん (ワッチョイ 7f5b-PzOe)[sage]   投稿日:2017/02/08 12:26:20  ID:Pzm1o9Vt0.n
アセンブラとかマイコンでも扱わない限り覚える必要ねえよ。

727
デフォルトの名無しさん (ドコグロ MM67-ubpA)[sage]   投稿日:2017/02/08 12:41:20  ID:60qaxvBWM.n
デバグ時にはアセンブラの知識が必要になるね。
ただ上で言いたいのはアセンブリ言語じゃなくて、プロセッサのアーキテクチャのことだと思う

728
デフォルトの名無しさん (ブーイモ MMc7-oriA)[]   投稿日:2017/02/08 12:44:26  ID:KaMMl6/oM.n
>725
自称ベテラン社員に騙されていると思われ。
俺も>722の意見に同意かな。

いきなりアセンブリ言語を理解出来る素養があるなら、Cのポインタなんて簡単に理解出来るなら心配するな。

729
デフォルトの名無しさん (ワントンキン MM1f-nOPp)[]   投稿日:2017/02/08 20:23:31  ID:4jVc/9XqM.n(2)
10代の頃アセンブラ2年くらいやったけど
Cやるのに役立ったかというとそうでもない
わかるやつは両方わかる
Cしか知らなくても困ることはない
そしてCが使いこなせる頃にはどんな言語でもすんなり入れる
コメント1件

730
デフォルトの名無しさん (ワントンキン MM1f-nOPp)[]   投稿日:2017/02/08 20:24:56  ID:4jVc/9XqM.n(2)
最後に
Cに限らず
センスが全て

731
デフォルトの名無しさん (ワッチョイ 037b-AtEE)[sage]   投稿日:2017/02/08 21:20:27  ID:OCW6swXT0.n
センスが全てとか言うほどプログラミングは難しくない
一定の知能を持っていれば普通に習得できる


732
デフォルトの名無しさん (ドコグロ MM87-0Ly4)[sage]   投稿日:2017/02/08 21:37:39  ID:1HPstVT8M.n
Haskell やろうと思ったけど全然分からなかったぞ。

733
デフォルトの名無しさん (ワンミングク MM1f-PSyA)[sage]   投稿日:2017/02/08 22:45:04  ID:I+micAQkM.n
高位合成とかはCとかPythonで出来るようになったし
ASMの知識が邪魔になった事は無いな

734
デフォルトの名無しさん (ワッチョイ 365b-a31+)[sage]   投稿日:2017/02/09 22:43:28  ID:18LIUJ/70.n
>729
C++無理。

735
デフォルトの名無しさん (ワッチョイ 12c0-1VpQ)[sage]   投稿日:2017/02/09 23:05:05  ID:fEK+ghC30.n
DTにCは無理

736
デフォルトの名無しさん (ワッチョイ 9bfd-ENO3)[sage]   投稿日:2017/02/10 01:43:40  ID:7WDeOmY50.n(2)
<宿題>
----------------------------------------------------------------------
 int data[3][3][4] =
  {{{111,112,113,114},{121,122,123,124},{131,132,133,134}},
   {{211,212,213,214},{221,222,223,224},{231,232,233,234}},
   {{311,312,313,314},{321,322,323,324},{331,332,333,334}}};

  int *pa     = data[0][0];
  int (*pb)[4]  = data[0];
  int (*pc)[3][4] = data;
  int *pd[3];  pd[0] = data[0][0];  pd[1] = data[1][0];  pd[2] = data[2][0];

上記のように配列(data)とポインタ(pa, pb, pc, pd)を宣言した時、
(1) data[0][0][0]とdata[2][2][3]をポインタ pa, pb, pc のそれぞれを用いて記述せよ
(2) 同様に、ポインタ配列 pd を用いて記述する場合の一例を示せ
----------------------------------------------------------------------
アホな専門学校生です。
ちょうどポインタの総まとめ復習をやってるんだけど、さっっっぱり解らん (´・ω・`)
こんな3次元配列とポインタの組み合わせなんて、実際には滅多に使わないでしょ?
コメント1件

737
デフォルトの名無しさん (ワッチョイ 277b-VpYz)[]   投稿日:2017/02/10 04:19:15  ID:MRcACxyw0.n
全く使わない

738
デフォルトの名無しさん (ワッチョイ b37b-cWHS)[sage]   投稿日:2017/02/10 06:03:19  ID:jzO6JR0y0.n
>736
fprintf(stdout, "%d %d\n", *(pa + 0), *(pa + 35));
fprintf(stdout, "%d %d\n", *(*(pb + 0) + 0), *(*(pb + 8) + 3));
fprintf(stdout, "%d %d\n", *(*(*(pc + 0) + 0) + 0), *(*(*(pc + 2) + 2) + 3));
fprintf(stdout, "%d %d\n", *(pd[0] + 0), *(pd[2] + 11));
こんな感じの回答を期待した問題なのかな
+0は冗長でもあったほうが理解しやすいかと思って入れておいた
いずれにしろわざわざ配列へのポインタ使ってただ面倒なだけであまりいい設問とは思えない
コメント1件

739
デフォルトの名無しさん (ワッチョイ 83dc-w/2a)[sage]   投稿日:2017/02/10 08:05:16  ID:VdPSphbn0.n
配列名が暗黙に先頭要素へのポインタに変換される、という言語仕様を説明するとき
多次元配列だと先頭要素(==ポインタの指す対象)の型は何? て部分がややこしいんで
こういう問題を作って理解を深めさせる、という意図は分かるんだが、
実際には滅多に使わないね。

多次元配列とポインタの関係が面倒なんで多次元配列を使うのを避ける
という面もあるかもしれんけど。

740
デフォルトの名無しさん (ドコグロ MM0f-o+a8)[sage]   投稿日:2017/02/10 11:27:20  ID:yPTk9ivWM.n(2)
実際に使うかどうかじゃなくて、ちゃんと理解したかを問うてんでしょ
ちょっと微妙な問題だと思うけど、期待する回答はこんな感じでは

printf("%d %d\n", pa[0], pa[35]);
printf("%d %d\n", (pb[0])[0], (pb[8])[3]);
printf("%d %d\n", (pc[0])[0][0], (pc[2])[2][3]);

741
デフォルトの名無しさん (ワッチョイ 727c-CIv3)[sage]   投稿日:2017/02/10 12:03:42  ID:lKa0cLZB0.n
多次元配列の場合アドレスが必ずしも連続しないとすると
pa[35]でも問題ないんかいの?

742
デフォルトの名無しさん (JP 0Hbf-ONvP)[sage]   投稿日:2017/02/10 12:28:12  ID:mjSR9lfmH.n
http://ja.stackoverflow.com/questions/5022/%ef%bc%92%e6%ac%a1%e5%85%83%e9...
によると、

・連続するとは明示されていない
が、
・配列のsizeofは配列全体のサイズ
・配列の要素数を、sizeof 配列 / sizeof 要素 で求める例示がある
から演繹すると、パディングを入れる余地がないので、連続する実装しかできない

らしい

743
デフォルトの名無しさん (ドコグロ MM0f-o+a8)[sage]   投稿日:2017/02/10 12:31:08  ID:yPTk9ivWM.n(2)
構造体じゃないからパディングは入らないはず
そもそも連続しないなら問題が成立しない

744
736 (ワッチョイ 9bfd-ENO3)[sage]   投稿日:2017/02/10 17:01:41  ID:7WDeOmY50.n(2)
>738-740
どうもご親切に有難うございました。これらを参考に、配列へのポインタの
基本に戻って一つ一つ確認していったら、何とか理解出来ました。
学校の若い新任講師の方はヤル気満々で張り切って色々教えてくれるのは
有難いんですが、テキストや市販の解説本には載ってないような所まで踏み込む
ことが多いので、みんな疲れ気味ですw
「君ら、ここを超えたら楽になるぞぉ!」が口癖なんですが、もう20回くらい
その「ここ」が出てきますた w

745
デフォルトの名無しさん (ワッチョイ b37b-cWHS)[sage]   投稿日:2017/02/11 11:41:49  ID:5YmzaeQg0.n
char *fgets(char * restrict s, int n, FILE * restrict stream);

fgets()の第2引数はどうしてsignedなのか
1文字も読み込まない指定は0で事足りるはずだが
読み込む文字数に負数を与えるなどという発想はどこから来たのか
もしかして適当に作ったの?実際gets_s()ではunsignedになってるし
コメント3件

746
デフォルトの名無しさん (ワッチョイ a73b-y12Z)[sage]   投稿日:2017/02/11 13:27:24  ID:6EGYaUFO0.n
なら第一引数も unsigned じゃないのかね?
キャラクターコードに負数を与えるなどという発想はどこから来たのか
コメント2件

747
デフォルトの名無しさん (ワッチョイ 7642-CIv3)[sage]   投稿日:2017/02/11 13:41:09  ID:XP9IRm+40.n
キャラクターコードじゃないだろう

748
デフォルトの名無しさん (ワッチョイ df85-phNF)[sage]   投稿日:2017/02/11 14:50:34  ID:Wyt6P4G00.n
>745
まあ、size_t あたりが適当かもしれないね

749
デフォルトの名無しさん (ドコグロ MMc7-y12Z)[sage]   投稿日:2017/02/11 17:37:03  ID:nokJxoQMM.n
>746
自己レスだけど、char 型は 8bit でもないし、signed かどうかは実装依存らしい。

750
デフォルトの名無しさん (アウアウカー Sa1f-adpx)[]   投稿日:2017/02/12 00:29:59  ID:ljRDyKT6a.n
>746
実行基本文字集合はcharに入れても非負であることが、規格で決まってるからだろ
拡張文字が負数になるのが嫌なら、処理系で勝手にやれ

751
デフォルトの名無しさん (ワッチョイ 12e1-2uTt)[sage]   投稿日:2017/02/12 03:48:52  ID:Lo3A968W0.n
>745
getsが存在してる地点でc言語の標準ライブラリなんて適当に決まってるだろ

intが1byteの処理系でもなければ困ることはないし
コメント1件

752
デフォルトの名無しさん (ワッチョイ 0f6f-rlq7)[sage]   投稿日:2017/02/12 10:27:52  ID:nF2JpTw90.n(2)
>745
fgetsはn-1バイト読む仕様だからunsignedだと問題となるからかな
コメント1件

753
デフォルトの名無しさん (ワッチョイ a73b-y12Z)[sage]   投稿日:2017/02/12 10:28:20  ID:DnVqAvNl0.n(2)
>751
byte は char と同じサイズだけど、何ビットか決まってないよね。

754
デフォルトの名無しさん (ワッチョイ fe13-cGUq)[sage]   投稿日:2017/02/12 10:32:14  ID:XNCDxJ480.n
>752
え?具体的にどんな問題になるの?
コメント1件

755
デフォルトの名無しさん (ワッチョイ 277b-VpYz)[]   投稿日:2017/02/12 10:32:20  ID:MRPxQTsD0.n(3)
1バイトが8bit以外の処理系を考慮するとか時間の無駄

756
デフォルトの名無しさん (ワッチョイ 0f6f-rlq7)[sage]   投稿日:2017/02/12 11:03:45  ID:nF2JpTw90.n(2)
>754
n=0のとき、アンダーフローしてラップアラウンドすると例えば0xffffffffバイトまで書けちゃうから
コメント1件

757
デフォルトの名無しさん (ワッチョイ 727c-CIv3)[sage]   投稿日:2017/02/12 12:11:29  ID:uTIQ0BBX0.n
引数の型を見るだけじゃなくて
関数の実装をちゃんと見ろっていうね

758
デフォルトの名無しさん (ワンミングク MM62-zyyT)[sage]   投稿日:2017/02/12 14:21:53  ID:3c2vZijwM.n
PDP-11に喧嘩ふっかけてるのかな

759
デフォルトの名無しさん (ワッチョイ 327d-E76/)[]   投稿日:2017/02/12 15:37:31  ID:xAcvDrFg0.n
コンピュータの初期のころは、バイト単位ではなくて、ワード単位になっていて、
記憶容量も4096ワードとか云っていた。

私が大学で使った〔1961年頃)HITACHのHIPAC-101という
パラメトロン素子を使ったコンピュータは、1短ワードが、21ビッ、で 8192ワード、
1長ワードは、41ビットで、4096ワードでした。どちらも、先頭の1ビットは
符号ビットです。

たしか、CDC-3600は、1ワードが64ビットでなかったかと思います。..

760
デフォルトの名無しさん (ワッチョイ 277b-VpYz)[]   投稿日:2017/02/12 16:25:36  ID:MRPxQTsD0.n(3)
でっていう
そんな化石を考慮するとか時間の無駄

761
デフォルトの名無しさん (ワッチョイ 323c-zlRv)[sage]   投稿日:2017/02/12 18:23:32  ID:yxF5W3i10.n
>756
ちょっとまともな実装ならサイズのチェック入れて 0 以下なら NULL 返してる

762
デフォルトの名無しさん (ワッチョイ 325b-9+3L)[sage]   投稿日:2017/02/12 18:56:08  ID:PBdTcC4F0.n
処理系に依存する部分が無いかを確認するのは基本中の基本。

763
デフォルトの名無しさん (ワッチョイ 367b-F1sY)[sage]   投稿日:2017/02/12 22:38:58  ID:9zSa05ws0.n
規格を読める者はおらんか!
コメント1件

764
デフォルトの名無しさん (ワッチョイ a73b-y12Z)[sage]   投稿日:2017/02/12 23:24:35  ID:DnVqAvNl0.n(2)
>763
規格で決まってないから悪いんだけどね。
実装依存言うからコンパイラの説明書に書いてあるんじゃね?

765
デフォルトの名無しさん (アウアウカー Sa1f-adpx)[sage]   投稿日:2017/02/12 23:36:22  ID:M7O5WewRa.n
実装依存って言っても、処理系定義と未規定と未定義では意味が違うぞ
CHAR_BITは処理系定義だから、規格上は処理系には文書化する義務がある

766
デフォルトの名無しさん (ワッチョイ 277b-VpYz)[]   投稿日:2017/02/12 23:41:11  ID:MRPxQTsD0.n(3)
charが8bit以外になってる処理系なんて、それ向けに書くことになってから考えればいいだけ。それすら無いだろうけど。
今まで書いたある程度の規模の普通のCのプログラムで8bit以外でも動くといえる奴居るのか?無いだろ?
int8_t使ってるからバッチリだ?それ実装するかどうかは処理系依存だから。int8_tをパディング無しで実装できるなら最初からcharを8bit以外になんてしねえよ。
コメント2件

767
デフォルトの名無しさん (ワッチョイ 12c0-1VpQ)[sage]   投稿日:2017/02/13 07:34:20  ID:XzL9GDXP0.n
電卓4bitやで

768
デフォルトの名無しさん (ワッチョイ d37b-Dnc6)[sage]   投稿日:2017/02/13 09:02:24  ID:TFV2uoJG0.n
つ アセンブラ

769
デフォルトの名無しさん (JP 0H72-cGUq)[sage]   投稿日:2017/02/13 11:55:17  ID:Qx76ZGdPH.n
http://www.geocities.jp/kenji_y0328/crenshu/renshu/r035.gif
juni_t[kensu]=1 て、どういう意味ですか?
コメント1件

770
デフォルトの名無しさん (ドコグロ MM8a-o+a8)[sage]   投稿日:2017/02/13 12:35:20  ID:pV7Y/oW+M.n
一位

771
デフォルトの名無しさん (ワッチョイ fe13-cGUq)[sage]   投稿日:2017/02/13 21:02:56  ID:347RyUJ/0.n
>766
規格はどうなっている?規格がすべてだ.お前の思い込みなど犬にくわれてしまえ

ISO/IEC 9899:1999 5.2.4.2.1 Sizes of integer types <limits.h>
Their implementation-defined values shall be equal or greater in magnitude
(absolute value) to those shown, with the same sign.

? number of bits for smallest object that is not a bit-field (byte)
CHAR_BIT 8

8ビット以上であっても問題ない
コメント1件

772
デフォルトの名無しさん (ワッチョイ 277b-VpYz)[]   投稿日:2017/02/13 21:25:44  ID:XAOuYKtl0.n(2)
>771
だから何?規格上許されてる事は知ってるよ。その上でそれ向けでもないのにそれを考慮して
プログラムを書くことは時間の無駄と言ってる。

773
デフォルトの名無しさん (ワッチョイ 8375-eSCi)[sage]   投稿日:2017/02/13 21:31:33  ID:3cGA2sF00.n
>766
>int8_tをパディング無しで実装できるなら最初からcharを8bit以外になんてしねえよ。
どういう意味?
int8_tをパディング有りだと実装できるの?そんな実装あり得ないから。
コメント1件

774
デフォルトの名無しさん (ワッチョイ 83dc-w/2a)[sage]   投稿日:2017/02/13 21:38:40  ID:vJYKnMsc0.n
>769
配列名 juni_t はおそらく「順位のテーブル」の気持ちだろう。
正しい順位は後で(全員の点数の情報が集まった時点で)確定するとして、
とりあえず1位という仮の順位を入れてる。

なぜ仮の順位として1を入れるか?
それは2重のforループがそういう仕掛けになってるから。

775
デフォルトの名無しさん (ワッチョイ 277b-VpYz)[]   投稿日:2017/02/13 21:49:40  ID:XAOuYKtl0.n(2)
>773
そんな回りくどい言い方しなくても、int8_t自体パディング入ることが許されてないから冗長とでも言えばいいのに

776
デフォルトの名無しさん (ワッチョイ 0f19-ENO3)[sage]   投稿日:2017/02/14 15:51:45  ID:V3vYuU1u0.n
「極々稀な環境では違うから断言してはダメ!!」
「最新規格では出来るから出来ないと言うのは間違い!」

うぜぇ…。

777
デフォルトの名無しさん (JP 0H72-cGUq)[sage]   投稿日:2017/02/14 15:57:28  ID:yB/Qg5nmH.n
int n;
char cnt[10];

scanf("%d", &n);
while(n > 0){

scanf("%s", &cnt[n]);
n--;

}

while(n > 0){

printf("%s!\n", &cnt[n]);

n--;
}


return 0;
これどうすればいい?
2
Hello
Hello
こうしたいだけです

778
デフォルトの名無しさん (フリッテル MM4e-0t/q)[sage]   投稿日:2017/02/14 17:08:52  ID:nPLzkrM8M.n
質問が下手くそすぎる
とりあえず
X:scanf("%s", &cnt[n]);
O:scanf("%c", &cnt[n]);
じゃなかろうかと

779
デフォルトの名無しさん (ワッチョイ 9f8c-CIv3)[sage]   投稿日:2017/02/14 19:27:17  ID:YTgNi2GY0.n
int i, num;
char msg[80];

printf("Input number: ");
scanf("%d", &num);
printf("Input message: ");
scanf("%s", msg);

printf("***Output***\n");
printf("%d\n", num);
for (i = 0; i < num; i++)
printf("%s\n", msg);

return 0;

780
デフォルトの名無しさん (ワッチョイ ef3c-cGUq)[sage]   投稿日:2017/02/14 19:29:41  ID:LarrsDUP0.n
JPのどうすればいい?君 余所でやってくれ

781
デフォルトの名無しさん (ワッチョイ a717-/ZxI)[sage]   投稿日:2017/02/14 21:07:20  ID:lbXIx+/s0.n
一行ずつ取得のプログラムを書いてみたけど、自分でみても糞ースになってしまった
http://stdput.com/dat/program/stdin.zip

782
デフォルトの名無しさん (JP 0H72-cGUq)[sage]   投稿日:2017/02/15 10:49:47  ID:x30SJT5YH.n
ScanfをConstにするには、どうすればいい?

783
デフォルトの名無しさん (ブーイモ MM4b-rAfO)[sage]   投稿日:2017/02/15 11:17:08  ID:VIlp91RXM.n
来たれ!エスパー

784
デフォルトの名無しさん (ワッチョイ efd4-IbQK)[sage]   投稿日:2017/02/15 12:04:09  ID:THR1BzY10.n
#define Scanf Const

785
デフォルトの名無しさん (フリッテル MM4e-0t/q)[sage]   投稿日:2017/02/15 12:47:35  ID:Zq/eSbT+M.n
C言語以前に自然言語を勉強した方がいいレベル

786
デフォルトの名無しさん (ワッチョイ 325b-9+3L)[sage]   投稿日:2017/02/15 12:50:34  ID:wlqCSLaa0.n
Scanfで読み込んだ値をConst化するにはどうしたら良いか、って意味だろう。
コメント1件

787
デフォルトの名無しさん (ワッチョイ b34e-K2za)[sage]   投稿日:2017/02/15 13:09:00  ID:Nh3it6Lz0.n
そんなことは無理

788
デフォルトの名無しさん (フリッテル MM4e-0t/q)[sage]   投稿日:2017/02/15 14:51:08  ID:p38yo1PrM.n
変数から定数、定数から変数への変換は出来ない
定数を変数に代入なら出来る
最近のCだと定数宣言と同時の代入に限って
変数を定数に代入なら出来る

789
デフォルトの名無しさん (ワッチョイ cf48-QAjE)[]   投稿日:2017/02/16 04:18:45  ID:AD6yJS9r0.n
>786
日本語的にそのとらえかたも凄いな

790
デフォルトの名無しさん (ガラプー KK9f-jCT1)[]   投稿日:2017/02/16 12:54:12  ID:NXvZoMniK.n
scanfはもともと定数だろ
Scanfはしらんが

791
デフォルトの名無しさん (JP 0H7f-eq+O)[sage]   投稿日:2017/02/16 14:30:19  ID:QZUL27n8H.n
enumって配列でしょ?
どういう時に使うの?
コメント1件

792
デフォルトの名無しさん (フリッテル MMff-SEkl)[sage]   投稿日:2017/02/16 14:30:47  ID:2GiI1VjxM.n
scanfは関数
それ以外の何でもないよ
コメント1件

793
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK9f-2nU5)[sage]   投稿日:2017/02/16 14:41:22  ID:soSRPnhwK.n(3)
>791
enumは列挙型を意味する。名前付き定数をまとめたもの。

794
デフォルトの名無しさん (ドコグロ MM7f-+HG0)[sage]   投稿日:2017/02/16 14:41:44  ID:BwNR8qwBM.n
>792
int scanf; は出来ないの?
コメント1件

795
デフォルトの名無しさん (フリッテル MMff-LjcY)[sage]   投稿日:2017/02/16 17:37:49  ID:QlMPrb5UM.n
enumはdefine定数と比べて型チェックしてくれる点が便利
コメント1件

796
デフォルトの名無しさん (ドコグロ MM9f-/Y6J)[sage]   投稿日:2017/02/16 18:16:20  ID:54UL787NM.n
>795
C言語だよね。例えばどういう場合?
コメント1件

797
デフォルトの名無しさん (フリッテル MMff-SEkl)[sage]   投稿日:2017/02/16 18:29:02  ID:jxTm1qP3M.n
Cのenumって実態はただのsined intじゃなかたっけ
だからintとenumの区別は実質人の目視でじゃないと区別できなかったと思ったけど

798
デフォルトの名無しさん (JP 0H1f-vlft)[sage]   投稿日:2017/02/16 19:24:44  ID:hXFmZ55QH.n
デバッガレベルでも情報が残るから追いやすいと聞いたが
デバッガ側のサポートレベルにもよるのかな
コメント1件

799
デフォルトの名無しさん (ササクッテロレ Sp9f-89cz)[]   投稿日:2017/02/16 19:37:28  ID:VWTLMYuEp.n
ポインタが必要な具体的な場合とその理由は?
コメント2件

800
デフォルトの名無しさん (JP 0H9f-88IT)[sage]   投稿日:2017/02/16 19:51:52  ID:jO2RAfrNH.n
>799
課題乙

801
デフォルトの名無しさん (ワッチョイ 5b3c-eq+O)[sage]   投稿日:2017/02/16 19:57:33  ID:JWmhnLgw0.n
qsort を使うとき
インターフェイスがそう要求しているから(そして、qsortを実装するなら そうせざるを得ないから)

802
デフォルトの名無しさん (ドコグロ MM9f-My/j)[sage]   投稿日:2017/02/16 20:04:25  ID:+lEx52V9M.n
>794
スコープ違うなら普通にできるでしょ

803
デフォルトの名無しさん (ワッチョイ cbe3-WWha)[]   投稿日:2017/02/16 20:13:58  ID:Jbe8pVua0.n(2)
Cで何を作れたら「出来る」って自慢できる?
コメント3件

804
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK9f-2nU5)[sage]   投稿日:2017/02/16 20:18:35  ID:soSRPnhwK.n(3)
>803
広辞苑に載っている単語でしりとりができるプログラムなんてどうだい?
コメント1件

805
片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK9f-2nU5)[sage]   投稿日:2017/02/16 20:23:24  ID:soSRPnhwK.n(3)
C言語を本気でやるなら、一度はLinuxやReactOSなどのOS開発、自作マシンの組み込み関係に携わってもらいたいものだ。
コメント1件

806
デフォルトの名無しさん (ワッチョイ fb42-P9CU)[sage]   投稿日:2017/02/16 20:30:02  ID:33Tn7KWx0.n
AIかな

807
デフォルトの名無しさん (ワッチョイ 6f13-eq+O)[sage]   投稿日:2017/02/16 20:31:11  ID:DJC3UylG0.n
>805
コンパイラはつくってみたいな,と思ってる

808
デフォルトの名無しさん (アウアウカー Sa9f-67jm)[]   投稿日:2017/02/16 20:43:45  ID:IVFumkCMa.n
>798
enumはシンボルが残せるからね
defineだとプリプロセッサで置換されて、ただの整数定数になるから、同じ値で意味の異なる定数の区別がつかない
実際に役立ったことはないけど

809
デフォルトの名無しさん (ワンミングク MM7f-EdSj)[sage]   投稿日:2017/02/16 21:53:58  ID:vUbaJs50M.n
>803
スクリーンエディタ
コメント1件

810
デフォルトの名無しさん (ワッチョイ 5f17-P9CU)[sage]   投稿日:2017/02/16 21:59:14  ID:+OCSH22k0.n
>803
デバイスドライバ
コメント1件

811
デフォルトの名無しさん (ワッチョイ 4fcb-4ADt)[]   投稿日:2017/02/16 22:11:12  ID:u2+nKOoP0.n
>796
795です。すみませんC++の挙動だった模様・・・

enum dir { front, back, left, right };
enum dir_news { north, east, west, south };
void move(enum dir d) { }
void move_news(enum dir_news news) { }
int main()
{
move(back); /* OK */
move_news(back); /* gccではOK、g++ではエラー */
return 0;
}

812
デフォルトの名無しさん (ワッチョイ cbe3-WWha)[]   投稿日:2017/02/16 23:34:52  ID:Jbe8pVua0.n(2)
>804
ふむふむ、
それって広辞苑に載ってる単語全てプログラムに書き込む必要がある訳じゃないよね?

>809
>810
ごめん。専門用語全然わからん。
コメント1件

813
デフォルトの名無しさん (ワッチョイ 5f17-P9CU)[sage]   投稿日:2017/02/17 00:33:04  ID:aZqDCFlW0.n
>812
双方向チェーンリストで追加、挿入、削除が実装できたら
初歩中の初歩としてなら、とりあえず「出来る」といっても良いんではないか

814
デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)[sage]   投稿日:2017/02/17 00:53:51  ID:BlebXdwz0.n
linked listのこと?
コメント1件

815
デフォルトの名無しさん (ブーイモ MM7f-88IT)[sage]   投稿日:2017/02/17 00:54:12  ID:28DYmd6rM.n
何を作れるかなんて興味分野しだいで何でもいいけど、
珠玉のプログラミングとかプログラミング作法あたりすらすら読めて、
そうそうそうだよねってほくそ笑むくらいになればいいと思うよ
コメント1件

816
デフォルトの名無しさん (ワッチョイ 6f5a-eq+O)[sage]   投稿日:2017/02/17 00:58:36  ID:FTwAMdJ10.n
pythonなんて少しやっただけで結構実用的なことができるので
最近Cなんてなんであんなに悪戦苦闘して学んだのかわからなくなった。
仕事で組み込みいじる以外Cなんて今更だし・・・
コメント1件

817
デフォルトの名無しさん (ドコグロ MM9f-My/j)[sage]   投稿日:2017/02/17 07:02:56  ID:loItl+7kM.n(4)
>815
> 珠玉のプログラミングとかプログラミング作法あたりすらすら読めて、
> そうそうそうだよねってほくそ笑むくらいになればいいと思うよ
言いたいことはすごくわかるが、C言語ができるって言うのとはちょっと違う気がする

818
デフォルトの名無しさん (アウアウカー Sa9f-6x/Q)[sage]   投稿日:2017/02/17 07:19:33  ID:UftE5YWRa.n
オープンソースにコントリビュートしたら一人前だな。

819
デフォルトの名無しさん (ワッチョイ fb3b-+HG0)[sage]   投稿日:2017/02/17 07:55:06  ID:G0DLbtSq0.n
>816
ライブリやらフレームワークやらが揃ってれば、API叩くだけだからな。
コメント1件

820
デフォルトの名無しさん (フリッテル MMff-SEkl)[sage]   投稿日:2017/02/17 09:46:59  ID:IRfl8X9cM.n
>819
そうそう
Cはその元を作る言語
だからアルゴリズムや数学、
メモリやCPUの仕組みを理解してない奴には
Cは難しい
コメント1件

821
デフォルトの名無しさん (ワッチョイ fb7b-Mjmn)[]   投稿日:2017/02/17 09:56:10  ID:ICuCz4ej0.n
>820
C使うのに数学とかいらんやろ
Cは環境作るのがひたすら面倒くさいだけ。
ライブラリは他の言語に負けず劣らず豊富だが、ビルド方法や配置がライブラリー毎に統一されてないので一つ一つ確認しなきゃならない面倒くさい。ああ、面倒くさい。
さらに環境によってもビルド方法が違う。一つ一つやってたら組み合わせ爆発起こすわ
コメント1件

822
デフォルトの名無しさん (ワンミングク MM7f-QAjE)[]   投稿日:2017/02/17 12:22:49  ID:7Vd7dWR4M.n
長年やってたらライブラリが充実してくるから
めんどくささもだいぶ解消されるけどね

823
デフォルトの名無しさん (ドコグロ MM9f-My/j)[sage]   投稿日:2017/02/17 12:31:17  ID:loItl+7kM.n(4)
複数環境考えてるのに cmake とか使ってないバカ

824
デフォルトの名無しさん (ワンミングク MM7f-Mjmn)[]   投稿日:2017/02/17 14:33:34  ID:6x4nDOQLM.n
なぜ使ってないと思ったのか。
使うライブラリ全てCMakeに対応してるわけじゃなかろうに。
コメント1件

825
デフォルトの名無しさん (フリッテル MMff-SEkl)[sage]   投稿日:2017/02/17 15:17:44  ID:IFIS8X9xM.n
>814
その事だよ

826
デフォルトの名無しさん (ワッチョイ 5fd4-OEnk)[sage]   投稿日:2017/02/17 19:56:15  ID:2DyCKvxW0.n(4)
構造体の入れ子なのですが。
struct st_a { char c; int i; }; がある時、これを内包する構造体は
1) struct st_b { struct st_a a; } b; のように宣言していたのですが。
2) struct st_b { struct st_a; } b; でもコンパイルは通るみたいです。

メンバ変数は 1)の場合は b.a.c、2)の場合は b.c のようになるみたいですが、
2)の記述方法はC言語のルールに従ったものでしょうか? それとも、たまたまコンパイルが通っただけ?
コメント1件

827
デフォルトの名無しさん (ワッチョイ 5b3c-eq+O)[sage]   投稿日:2017/02/17 20:06:06  ID:rC3nLHS90.n
C11 の無名構造体関連?

828
デフォルトの名無しさん (ドコグロ MM9f-My/j)[sage]   投稿日:2017/02/17 20:14:20  ID:loItl+7kM.n(4)
>824
ライブラリを作る話なのか使う話なのかはっきりしろよ...
コメント1件

829
デフォルトの名無しさん (ドコグロ MM9f-My/j)[sage]   投稿日:2017/02/17 20:15:55  ID:loItl+7kM.n(4)
>826
前方参照と見なされてるだけでしょ
仕様だし必要
コメント1件

830
デフォルトの名無しさん (ワッチョイ 5fd4-OEnk)[sage]   投稿日:2017/02/17 20:18:54  ID:2DyCKvxW0.n(4)
情報どうもです。仕様と理解しました。

831
デフォルトの名無しさん (アウアウカー Sa9f-67jm)[]   投稿日:2017/02/17 20:42:50  ID:Mg03M+Cca.n(3)
タグを省略してないし、無名構造体ではないでしょ
gcc,clangどちらも警告吐いたし、内部のメンバにはアクセスできなかった
処理系の独自拡張じゃねーの?
コメント1件

832
デフォルトの名無しさん (ワッチョイ 5fd4-OEnk)[sage]   投稿日:2017/02/17 20:56:05  ID:2DyCKvxW0.n(4)
>831
なるほど、実装依存ですか・・・。コンパイラは20年くらい前の古いもの(VC6等)です。
C言語の規格なのか、コンパイラ依存なのか、念のため知っておきたかったもので。

- - - - - - - - - - - - - - - - - -

もう1つ、構造体の入れ子に関する質問なのですが
struct st_a { char c; int i; }; があるとき、これを内包し、かつ「先頭のメンバ」とする構造体
struct st_b { struct st_a a; double d; } b; があるとき

外側の構造体(struct st_b)のインスタンス(?)b を、内側の構造体(struct st_a)に型変換した上で、
メンバ変数 c、i を参照しようとするような記述、すなわち

((struct st_a*)&b)->c、((struct st_a*)&b)->i

これらが、b.a.c、b.a.i と完全に一致することは、
C言語の仕様上、保証されているのでしょうか、それとも実装依存ですか?

833
デフォルトの名無しさん (ワンミングク MM7f-EdSj)[sage]   投稿日:2017/02/17 21:02:59  ID:+cYNGtlMM.n
offsetof の実装を確認するべし
コメント2件

834
デフォルトの名無しさん (アウアウカー Sa9f-67jm)[]   投稿日:2017/02/17 21:04:12  ID:Mg03M+Cca.n(3)
構造体のアドレスと構造体の先頭メンバのアドレスは一致することが保証されてるから、一致する
ただし、最適化のために規格違反のメンバ順番入れ換えを行うコンパイラもあるらしいのと
お作法的に良いとは言えないから、多用するならcontairner_ofみたいなの実装した方が良いとは思う

835
デフォルトの名無しさん (アウアウカー Sa9f-67jm)[]   投稿日:2017/02/17 21:15:42  ID:Mg03M+Cca.n(3)
言葉足らずだった
st_bからst_aに変換するときはちゃんとメンバ経由でアクセスして、逆の時はcontainer_ofを使う

コンパイラ固定で流用もしないなら好きにすれば良いと思うけど

836
デフォルトの名無しさん (ワントンキン MM7f-Mjmn)[]   投稿日:2017/02/17 21:22:24  ID:RXF3ogG3M.n
>828
>821 読んだらどっちの話か自明だと思うのだが
コメント1件

837
デフォルトの名無しさん (ワッチョイ 5fd4-OEnk)[sage]   投稿日:2017/02/17 21:26:02  ID:2DyCKvxW0.n(4)
>833-835
情報ありがとうございます。ちょっと勉強してみます。

838
デフォルトの名無しさん (ワッチョイ 5f3c-My/j)[sage]   投稿日:2017/02/17 21:28:12  ID:Qw3pRN/40.n
>836
で、どっちなの?

839
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/17 21:41:51  ID:Ivxuia8Y0.n(2)
>829
ちげーよ
無名構造体って言うんだよ 10年ROMってろ

840
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/17 22:10:21  ID:Ivxuia8Y0.n(2)
誤 無名構造体
正 匿名構造体

841
デフォルトの名無しさん (ワッチョイ dfc0-fRM8)[sage]   投稿日:2017/02/17 23:02:32  ID:cMOBM5D+0.n
一番恥ずかしいパターンやな

842
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/18 02:37:05  ID:tWz1Zv+W0.n(3)
前方参照よりは全然マシマシ

843
デフォルトの名無しさん (ワッチョイ 7ba1-sbgu)[sage]   投稿日:2017/02/18 12:22:47  ID:Jfc71qpE0.n(2)
>799
ポインタがあれば、むだなコピーをへらせる可能性があるぞ
他の言語は、むだなことやってる。だからでかいし、おそい
コメント2件

844
デフォルトの名無しさん (ワッチョイ 6f13-eq+O)[sage]   投稿日:2017/02/18 15:48:27  ID:TYdbt8Dm0.n
>843
C には move セマンティクス はないでしょ?
コメント1件

845
デフォルトの名無しさん (ワッチョイ 5f3c-My/j)[sage]   投稿日:2017/02/18 18:32:43  ID:52dA0McO0.n
>844
自分でやればいいだけ

846
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/18 22:04:52  ID:tWz1Zv+W0.n(3)
>843
アホウ 他の言語は参照渡しだ

847
デフォルトの名無しさん (ワッチョイ 7ba1-vagz)[sage]   投稿日:2017/02/18 23:03:17  ID:Jfc71qpE0.n(2)
部分文字列は、参照ではないとおもう
むだにオブジェクトを生成してる
コメント1件

848
デフォルトの名無しさん (スププ Sd7f-Aztl)[]   投稿日:2017/02/18 23:06:47  ID:YvJV55Qkd.n
部分文字列で無駄なコピー減らすのすぐ事故りそう

849
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/18 23:09:44  ID:GhmlKVYj0.n
1バイトが必ず8ビットとは限らないが、
1バイトずつ番地が与えられるのはコンピューターの決まりなんだ。

ポインタはその番地に直接アクセスできるわけだね。
これは使い方、特にアセンブラライクなイメージでプログラミングをする時には便利だね。

ポインタが有る事によって、C言語はアセンブラの役割も果たしていると言えるね。

850
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/18 23:53:48  ID:tWz1Zv+W0.n(3)
ワードマシンを知らない小僧は引っ込んでろ

851
デフォルトの名無しさん (ワッチョイ fb7b-Mjmn)[]   投稿日:2017/02/18 23:58:35  ID:ytfDKNod0.n
>847
そんなケースではCでもコピーして新たに作ってるだろ
文字列を引数に取る関数の殆どがnull終端を要求してるんだから

852
デフォルトの名無しさん (ワッチョイ 0b7b-+OgX)[sage]   投稿日:2017/02/19 00:03:05  ID:0M5Cx5qf0.n(2)
ある文字列から非破壊且つ他の配列にコピーしないで部分文字列を渡せるの?
開始位置は良くても終端はどうする?
コメント1件

853
デフォルトの名無しさん (ワッチョイ 0b4e-N9BQ)[sage]   投稿日:2017/02/19 00:06:59  ID:B60dHD4D0.n(3)
サイズも一緒に渡せば終端はわかるな

854
デフォルトの名無しさん (スププ Sd7f-Aztl)[]   投稿日:2017/02/19 00:07:34  ID:JRoh81o2d.n
最初と最後でもいいぞ

855
デフォルトの名無しさん (ワッチョイ 0b4e-N9BQ)[sage]   投稿日:2017/02/19 00:08:51  ID:B60dHD4D0.n(3)
しかし部分文字列のポインタ渡したら破壊される可能性があるから、
そういう事は普通やらないだろ

856
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 00:10:38  ID:EpgJz6zw0.n(8)
ワードマシンだってワードごとに番地が与えられるだろう。
その番地にアクセスするのがポインタって事だな。
コメント3件

857
デフォルトの名無しさん (ワッチョイ fb7b-Mjmn)[]   投稿日:2017/02/19 00:14:50  ID:Av0JmT9x0.n
>852
当たり前だけど長さも一緒に渡せば可能だよ。
C++ならstring_viewというのが今年標準に入る

858
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/19 00:17:31  ID:EFiaBPs90.n(6)
>856
> 1バイトずつ番地が与えられるのはコンピューターの決まりなんだ。
コメント1件

859
デフォルトの名無しさん (ワッチョイ 0b7b-+OgX)[sage]   投稿日:2017/02/19 00:19:11  ID:0M5Cx5qf0.n(2)
それ文字列渡してるんじゃなくて"取り出させてる"んでしょ

860
デフォルトの名無しさん (ワッチョイ 5f90-88IT)[sage]   投稿日:2017/02/19 00:23:13  ID:0+gPqcHf0.n
>858
ワードをバイトと呼べばいいだけだろ

861
デフォルトの名無しさん (ワッチョイ 0b4e-N9BQ)[sage]   投稿日:2017/02/19 00:24:23  ID:B60dHD4D0.n(3)
値渡ししたいならサイズ+1の配列でも用意すればいい

862
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/19 00:38:00  ID:EFiaBPs90.n(6)
ワードをバイトと呼ぶ?
頭の悪い奴の考えは意味不明過ぎる

863
デフォルトの名無しさん (ワンミングク MM7f-EdSj)[sage]   投稿日:2017/02/19 00:48:04  ID:dh11yliXM.n
積算電力計のバイトはどこにあるんですか?
アナログコンピューターはコンピューターに含まれないのですか?

864
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 00:57:29  ID:EpgJz6zw0.n(8)
はいはい、俺が悪かった。

昔のワードマシンやキャラクタマシンでのアドレスの付け方を説明せず、
すみませんでした。

コンピューターもいろんなコンピューターが有り、
アナログコンピューターなどの説明をせずにすみませんでした。
コメント3件

865
デフォルトの名無しさん (ワッチョイ 5f3c-My/j)[sage]   投稿日:2017/02/19 07:50:42  ID:ngALvOwB0.n(3)
>864
はたから見てても恥ずかしいからもうやめとけ

866
デフォルトの名無しさん (ワッチョイ cbdc-92cl)[sage]   投稿日:2017/02/19 08:12:56  ID:bdyBF4EH0.n
むしろ重箱の隅をつつく他に能のない「言語の法律家」に
絡まれたツイてない人、に思えるけど。

867
デフォルトの名無しさん (ワッチョイ 5f3c-My/j)[sage]   投稿日:2017/02/19 08:49:45  ID:ngALvOwB0.n(3)
>856 だけならまだしも >864 とか小学生かよ w
って話だろ

868
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/19 18:42:33  ID:EFiaBPs90.n(6)
珍妙なアーキテクチャ引っ張りだきてきたなきたな
一文字が8bit未満ではC言語の要求を満たせないぞ

wikipediaより
キャラクタマシン(キャラクタ指向マシン)は、8ビット未満(多くの場合)のサイズの「キャラクタ」で文字を表現し(キャラクタ (コンピュータ)#初期のコンピュータを参照。以下「字」とする)、
主記憶が字単位でアドレス付けされている(キャラクタアドレッシング)か4字ないし6字程度を1ワードとしていて、(ワード単位の演算を得意とするワードマシンに対し)字単位の処理を得意とするコンピュータである。
コメント2件

869
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 20:17:09  ID:EpgJz6zw0.n(8)
> 1バイトずつ番地が与えられるのはコンピューターの決まりなんだ。

に対してワードマシンもあるだろうって言ってんだろう?

だから番地はワードマシンならワードごと、キャラクタマシンならキャラクタごとに割り当てられる、って説明しろって事だろ?


キャラクタマシンはメジャーだろ。何で珍妙なんだよ
コメント1件

870
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 20:36:56  ID:EpgJz6zw0.n(8)
>868
おまえがさ、

850 デフォルトの名無しさん (ワッチョイ 9b7b-KWkY) sage ▼ 2017/02/18(土) 23:53:48.89 ID:tWz1Zv+W0 [3回目]
ワードマシンを知らない小僧は引っ込んでろ

って言ったんだよな。

ワードマシンを知ってる人間が、何でキャラクタマシンが珍妙になるの。

871
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/19 20:52:34  ID:EFiaBPs90.n(6)
> キャラクタマシンはメジャーだろ。何で珍妙なんだよ
お前、自分がスゲー無知な上に読解力も欠如しているバカだと言う事を認識した方が良いぞ
キャラクタマシンなんか博物館にでも行かなきゃお目にかかれねーわ w

バイトマシン
https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%83%9E%E3%...
バイトマシン(バイト指向マシン)とは、1バイト単位で主記憶にアドレス付けされた(バイトアドレッシングの)コンピュータのこと。1バイトは通常は8ビットである。

ワードマシン
https://ja.m.wikipedia.org/wiki/%E3%83%AF%E3%83%BC%E3%83%89%E3%83%9E%E3%...
ワードマシン(ワード指向マシン)とは、メモリのアドレス付けがバイト(通常は8ビット)単位ではなく、12ビット、16ビット、36ビット等のワード単位で(ワードアドレッシング)、ワード単位の演算を得意とするコンピュータのこと。

キャラクタマシン
https://ja.m.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%...
キャラクタマシン(キャラクタ指向マシン)は、8ビット未満(多くの場合)のサイズの「キャラクタ」で文字を表現し(キャラクタ (コンピュータ)#初期のコンピュータを参照。
以下「字」とする)、主記憶が字単位でアドレス付けされている(キャラクタアドレッシング)か4字ないし6字程度を1ワードとしていて、(ワード単位の演算を得意とするワードマシンに対し)字単位の処理を得意とするコンピュータである。

872
デフォルトの名無しさん (アウアウカー Sa9f-6x/Q)[sage]   投稿日:2017/02/19 21:04:07  ID:on+xGxJYa.n
C言語スレでしょ?32ビット以上が基本だろ。それ以前の話ならアセンブラスレでやれば?
コメント1件

873
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 21:06:08  ID:EpgJz6zw0.n(8)
ワードマシンを知らない人間は黙ってろと言う人間が、
キャラクタマシンが珍妙で博物館にでも行かないとお目にかかれないとか言うのは、
おかしいぞ。

絶対ワードマシンの時代も知らないだろつの。

874
デフォルトの名無しさん (ワッチョイ 5f3c-My/j)[sage]   投稿日:2017/02/19 21:46:15  ID:ngALvOwB0.n(3)
そもそもキャラクタマシンなんてまともな定義あるの?
コメント2件

875
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/19 21:54:21  ID:EFiaBPs90.n(6)
お前は自分がスゲー無知でバカだと言う事を認識すべきだと忠告したぞ

ワードマシンなら博物館に行かずとも、今でも入手出来て遊べる
Digital Signal Processor通称 DSPって奴はワードマシンだ
バイトアドレッシング出来るDSPが存在する可能性は否定しない

876
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 22:05:56  ID:EpgJz6zw0.n(8)
> 1バイトずつ番地が与えられるのはコンピューターの決まりなんだ。

に対してのワードマシンもあるだろうっておまえ言ってんだろ?

だったらバイトマシン以外の番地の付け方を説明もするなら、ワードマシンとキャラクタマシンの番地の付け方の説明もせんといかんだろう。

なんでそれでキャラクタマシンの番地の付け方を説明して、キャラクタマシンが珍妙になるの。

キャラクタマシンの番地の付け方を省くなら、バイトマシン前提でワードマシンの説明を省いてもよいだろ。
コメント1件

877
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 22:12:05  ID:EpgJz6zw0.n(8)
キャラクタマシンのアーキテクチャが何で珍妙なのか説明しろよ。
メジャーもメジャーだろ。

878
デフォルトの名無しさん (ブーイモ MM1f-VS2f)[sage]   投稿日:2017/02/19 22:13:24  ID:Zg7CBD6QM.n
>874
昔のNECのコンピューターがそうだな。ビット数が少ないから
安く作れる。個人的にはCOBOL専用機だと思う。

879
デフォルトの名無しさん (アウアウカー Sa9f-Vuaq)[sage]   投稿日:2017/02/19 22:22:12  ID:itkc0h94a.n
ここはなんのスレだ

880
デフォルトの名無しさん (ワッチョイ eb9a-XQTV)[]   投稿日:2017/02/19 22:22:37  ID:qRKd/jmw0.n
UTF−16マシン

881
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/19 22:30:17  ID:EFiaBPs90.n(6)
>876
本当に呆れるくらいバカだな そんなに頭悪くて生きるの辛く無いか?
コメント1件

882
デフォルトの名無しさん (スププ Sd7f-Aztl)[]   投稿日:2017/02/19 22:35:17  ID:5WEM4D2Ld.n
流石に荒れすぎだろ
もうやめろ

883
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/19 22:43:39  ID:EpgJz6zw0.n(8)
>881
俺はバイトマシン以外の番地の付け方もちゃんと説明したよな。
ワードマシンもあるだろと言う突っ込みに、
バイトマシン・ワードマシン・キャラクタマシンの番地の付け方があるとな。

おまえは、なんでキャラクタマシンのアーキテクチャが珍妙なのか説明しろよ。
コメント1件

884
デフォルトの名無しさん (ワッチョイ 5fcf-Z7AI)[sage]   投稿日:2017/02/19 23:41:11  ID:Tyy902Hw0.n
※個人の感想です。

885
デフォルトの名無しさん (ワッチョイ fb3b-+HG0)[sage]   投稿日:2017/02/19 23:53:40  ID:9X+TsKgl0.n
キャラクタマシンって、痛車のことだろ?

886
デフォルトの名無しさん (ワッチョイ 9b7b-3Ih/)[]   投稿日:2017/02/20 09:07:24  ID:NnqcO0cq0.n(17)
>833
> 俺はバイトマシン以外の番地の付け方もちゃんと説明したよな。
> 1バイトずつ番地が与えられるのはコンピューターの決まりなんだ。
という、無知丸出しのウソ発言に突っ込まれ、何度もみ言い逃れを
繰り返し、あがいた挙句に無理だと観念し、必死にググって
ピコーン そうだ! 他のは昔のコンピュータと言い逃れとようと愚かな
試みをしたけれど、やっぱりバカはバカでワードマシンが現役なのを
知らなかった上に、C言語の要求を満たせないキャラクタマシンとやら
を引っ張り出してきて、さらに墓穴を掘り下げただけ。

バカって本当にかわいそう

> おまえは、なんでキャラクタマシンのアーキテクチャが珍妙なのか説明しろよ。
まだわかんねーのバカだろ。本当にバカ。
博物館行かなきゃお目にかかれないアーキテクチャだからだよ。
バーカバーカバーカバーカ
大事なことなので四回言いました。

887
デフォルトの名無しさん (ブーイモ MM7f-VS2f)[sage]   投稿日:2017/02/20 09:17:56  ID:Wwty+I+wM.n
何故833に?


888
ほらよ (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 09:19:28  ID:NnqcO0cq0.n(17)
>883
> 俺はバイトマシン以外の番地の付け方もちゃんと説明したよな。
> 1バイトずつ番地が与えられるのはコンピューターの決まりなんだ。
という、無知丸出しのウソ発言に突っ込まれ、何度もみ言い逃れを
繰り返し、あがいた挙句に無理だと観念し、必死にググって
ピコーン そうだ! 他のは昔のコンピュータと言い逃れとようと愚かな
試みをしたけれど、やっぱりバカはバカでワードマシンが現役なのを
知らなかった上に、C言語の要求を満たせないキャラクタマシンとやら
を引っ張り出してきて、さらに墓穴を掘り下げただけ。

バカって本当にかわいそう

> おまえは、なんでキャラクタマシンのアーキテクチャが珍妙なのか説明しろよ。
まだわかんねーのバカだろ。本当にバカ。
博物館行かなきゃお目にかかれないアーキテクチャだからだよ。
バーカバーカバーカバーカ
大事なことなので四回言いました。

889
デフォルトの名無しさん (ワッチョイ 9b7b-3Ih/)[]   投稿日:2017/02/20 09:49:38  ID:NnqcO0cq0.n(17)
>874
Wikipediaも日本語版しかないと言う謎定義

http://www.encyclopedia.com/computing/dictionaries-thesauruses-pictures-a...
によると
> It is then known as a character machine or byte machine respectively.
だそうなので、一部ではバイトマシンと同じ意味で使われ{る|ていた}のかもしれない
コメント1件

890
デフォルトの名無しさん (ワッチョイ 9b7b-3Ih/)[]   投稿日:2017/02/20 09:51:28  ID:NnqcO0cq0.n(17)
しかし、>889の意味、すなわちバイトマシンの同意語でキャラクタマシン
と呼んだのなら、すでに説明済みなので
>864
> 昔のワードマシンやキャラクタマシンでのアドレスの付け方を説明せず、
> すみませんでした。
は、矛盾してるし

>869
日本語版Wikipediaにある定義の「キャラクタマシン」なら
> キャラクタマシンはメジャーだろ。何で珍妙なんだよ
は、さらにおかしい

バカって本当にかわいそうだな。

891
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 10:10:11  ID:6ExtSF9k0.n(20)
アーキテクチャの意味わかってないだろ。

892
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 10:21:12  ID:6ExtSF9k0.n(20)
誰かと話をしたいだけなら病院に行けよ。
キャラクタマシンが普及してたのくらいわかるだろ。

おまえ絶対病気だよ。

893
デフォルトの名無しさん (ワッチョイ fb7b-Mjmn)[]   投稿日:2017/02/20 10:39:53  ID:8FjaGYLq0.n
スレチの話したいなら適切なスレへ行けよ

894
デフォルトの名無しさん (スププ Sd7f-Aztl)[]   投稿日:2017/02/20 10:41:49  ID:EsKjTg7qd.n
C言語スレやぞ

895
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 11:03:28  ID:6ExtSF9k0.n(20)
バイトマシン前提での説明が駄目って言われたから、
番地はバイトマシン、ワードマシン、キャラクタマシンでの付け方があるって言っただけだよ。
それで終わりだろ。

何で今度はキャラクタマシンを持ち出すのはおかしいとか言うんだよ。
それならレアなワードマシンの説明とか要らないだろ。
コメント1件

896
デフォルトの名無しさん (ワッチョイ fb42-P9CU)[sage]   投稿日:2017/02/20 11:10:51  ID:bs0C8KtQ0.n
雑談はこちらに移動

プログラミング雑談スレ

897
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 12:00:43  ID:6ExtSF9k0.n(20)
そもそもCができた頃は6bitマシンだろ。
8ビット未満でC言語が動かないって事が間違ってんだよ。
コメント2件

898
デフォルトの名無しさん (ワッチョイ 0f7b-LjcY)[sage]   投稿日:2017/02/20 12:35:56  ID:I1WvFavI0.n
規格委員会に文句言ってくださいね

899
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 12:42:19  ID:6ExtSF9k0.n(20)
>897 は >868 に対してな。

900
デフォルトの名無しさん (ドコグロ MM1f-My/j)[sage]   投稿日:2017/02/20 18:48:19  ID:7yJYF54kM.n(2)
>897
PDP-11 は 16bit マシンでバイトアドレッシングが可能
6bit マシンで開発されていたら小文字を使うのが面倒だから
#INCLUDE <STDIO.H>
INT MAIN(){
PRINTF("HELLO WORLD\N";
RETURN 0;
}
ってなってたと思う
コメント1件

901
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 19:34:01  ID:6ExtSF9k0.n(20)
>900
PDP-10まで6bitだろ?もちろん大文字だけだよ
コメント2件

902
デフォルトの名無しさん (ドコグロ MM1f-My/j)[sage]   投稿日:2017/02/20 19:49:06  ID:7yJYF54kM.n(2)
>901
そうだけど、それとC言語になんの関係があるんだ?
コメント1件

903
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 19:52:24  ID:6ExtSF9k0.n(20)
>902
PDP10用のCコンパイラあるだろ?

904
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[]   投稿日:2017/02/20 20:09:49  ID:NnqcO0cq0.n(17)
>895
> キャラクタマシンはメジャーだろ。何で珍妙なんだよ
博物館でしかお目にかかれないもののどこがメジャーなんだ?
コメント1件

905
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:11:57  ID:6ExtSF9k0.n(20)
>904
おまえが珍妙なアーキテクチャって言ったんだろ?

アーキテクチャと現存数と関係ないだろ。

何を言ってるんだ
コメント1件

906
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[]   投稿日:2017/02/20 20:21:04  ID:NnqcO0cq0.n(17)
>905
博物館でしかお目にかかれないから珍妙と評したんだが

キャラクタマシンがメジャーというソース出せよ
日本語版Wikipediaとオレが張ったもう一つにしか現れないて無いぞ
コメント1件

907
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:26:34  ID:6ExtSF9k0.n(20)
>906
何を言ってるんだ。

キャラクタマシンとかコボル用でたくさん使われてたろ。
キャラクタマシンのアーキテクチャはメジャーだろっつの。

キャラクタマシンなんか有名だろっつの。おまえしらんのか。
何で事務処理用で普及してたキャラクタマシンのアーキテクチャがマイナーなんだよ。

アホかおまえ。珍妙ってなんだよ。
コメント1件

908
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[]   投稿日:2017/02/20 20:28:41  ID:NnqcO0cq0.n(17)
>901
まーた無知振りまいてるのか? 救いようが無いな

pdp10が6ビットというのは純正OSがradix50という符号を使っていただけ
pdp10はバイトマシンだ
コメント1件

909
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 20:32:27  ID:NnqcO0cq0.n(17)
>907
メジャーだとお前以外が言ってるソースは?

> アホかおまえ。珍妙ってなんだよ。
バカか? 意味も知らずに言いがかりつけてんのか?
珍にして妙だよ バーカ
コメント1件

910
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:33:01  ID:6ExtSF9k0.n(20)
>908

おまえ何いってんの、池沼か。
コメント1件

911
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:35:16  ID:6ExtSF9k0.n(20)
>909
おまえが好きなwikiで、キャラクタマシンのページ貼ってるだろ?
そこにキャラクタマシンは大ヒットしたって書いてるだろう。

なんでそれでマイナーなんだ?

912
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 20:35:32  ID:NnqcO0cq0.n(17)
>910
ああ、バカにはわからないのか w
こりゃ「キャラクタマシン」理解して無いな w

913
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 20:39:28  ID:NnqcO0cq0.n(17)
Wikipedia(日本語版)がソース w

> メインフレーム(現代のものではACOS-6)やミニコンピュータ(PDP-10など)の1ワード=36ビットのコンピュータにおいて、
> 文字コードをあらわすキャラクタを6ビットとし、36ビット=6キャラクタとして扱い、同時に6文字を処理するものがあった。

これ読んでpdp10はキャラクタマシン きりっ

バカ過ぎる w

914
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:44:14  ID:6ExtSF9k0.n(20)
いやいやpdp-10が6bitは知られてるだろ?

pdp-10のCコンパイラも有るんだから、
C言語が8bit以上のマシンで無いと動かないってのはおかしいだろ。

pdp-10をいつキャラクタマシンって言ったよ。
NECの2200とかの事だろ。

>キャラクタマシンは、演算部分のハードウエア量が少なく済むので、コンピュータの価格を押さえることができ、各メーカともキャラクタマシンは大ヒットした。
>また、COBOL言語を処理するのにも適していた。日本のメーカではNECの2200シリーズ(Honeywell 200シリーズのノックダウン生産)が大ヒットした。

ってあるだろ?

おまえいってることおかしいよ。絶対病気だろ
コメント1件

915
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:48:11  ID:6ExtSF9k0.n(20)
何で延々と同じ話をしてんだよ

916
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 20:50:35  ID:NnqcO0cq0.n(17)
pdp10がバイトマシンは取り消しておく
バイトアドレスでアクセスできた気がしてたけど特殊な命令らしい
pdp10はワードマシン

917
デフォルトの名無しさん (アウアウカー Sa9f-6x/Q)[sage]   投稿日:2017/02/20 20:51:00  ID:Xjvxr8kEa.n
6ビットマシンってのはアドレス空間はどれくらいあるもんなの?

918
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:52:08  ID:6ExtSF9k0.n(20)
珍妙の意味を理解してない。
メジャーとマイナーの意味を理解してない。
アーキテクチャの意味を理解してない。
一文字が8bit以上でないとCは動かないと思っている。

これどうしろっつの。
コメント1件

919
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 20:54:36  ID:NnqcO0cq0.n(17)
>914
>pdp-10のCコンパイラも有るんだから、
>C言語が8bit以上のマシンで無いと動かないってのはおかしい
また無知晒してる バーカ バーカ

920
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 20:58:09  ID:6ExtSF9k0.n(20)
じゃあpdp-10のCコンパイラは無いって事だな?
それで良いんだな?
コメント1件

921
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 20:58:50  ID:NnqcO0cq0.n(17)
>918
>珍妙の意味を理解してない。
珍にして妙
博物館でしかお目にかかれないものをそう呼んだ それが何か?

>メジャーとマイナーの意味を理解してない。
お前以外がメジャーと言っているWikipedia日本語版以外のソースを出せ

>アーキテクチャの意味を理解してない。
メモリアドレッシングはアーキテクチャの重要な要素

>一文字が8bit以上でないとCは動かないと思っている。
C言語の規格書読んで出直せ

922
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 20:59:37  ID:NnqcO0cq0.n(17)
>920
PDP10はワードマシンだからあるよ 全然矛盾しない

923
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 21:00:05  ID:6ExtSF9k0.n(20)
charが8ビット ってのはC90かC99だろ?

pdp10とかK&Rだろ

924
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 21:04:10  ID:6ExtSF9k0.n(20)
もう無理。こいつ絶対無理。

925
デフォルトの名無しさん (アウアウカー Sa9f-Vuaq)[sage]   投稿日:2017/02/20 21:06:17  ID:j7ytTgeza.n
どこか別のスレで永遠に言い合っててもらえますか

926
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 21:07:21  ID:6ExtSF9k0.n(20)
さすがに疲れたよ。

927
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 21:12:24  ID:6ExtSF9k0.n(20)
PDP10の36ビットワードってのは6bit+*6だろ。
6の倍数だろ?

もうこれでやめるぞ俺は。
悪いこと言わないから病院行け

928
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 21:12:49  ID:NnqcO0cq0.n(17)
>856
> 1バイトずつ番地が与えられるのはコンピューターの決まりなんだ。
決まりじゃ無いものを決まりと言い張ろうと無駄に足掻いてドツボにはまった道化

929
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 21:18:43  ID:NnqcO0cq0.n(17)
で、キャラクタがメジャーだと言うソースは?

930
デフォルトの名無しさん (ワッチョイ 5f5b-NHlF)[sage]   投稿日:2017/02/20 21:21:30  ID:6ExtSF9k0.n(20)
http://www.npointelligence.com/Techno-Intelligence/Theme-C/Theme14(Mainframe)/theme14.html

ほらよ。これで本当に最後だぞ

931
デフォルトの名無しさん (スププ Sd7f-Aztl)[]   投稿日:2017/02/20 21:55:59  ID:3AFYiP2ad.n
歴史じゃん

932
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/20 23:02:59  ID:NnqcO0cq0.n(17)
ただの歴史だな

933
デフォルトの名無しさん (ワッチョイ 5f41-LjcY)[]   投稿日:2017/02/20 23:17:24  ID:rV4WoTG+0.n
歴史です

934
デフォルトの名無しさん (ガラプー KK9f-jCT1)[]   投稿日:2017/02/21 09:20:31  ID:QkDHiBD7K.n(3)
ARMって32ビット単位しか読めないんだっけ?

935
デフォルトの名無しさん (ワンミングク MM7f-VS2f)[sage]   投稿日:2017/02/21 10:00:42  ID:ltD/wwLEM.n(4)
少なくとも、Coretex-Mはそんな事ないな。
Cでアライメント以外から読むとバイト命令に分解してくれる

936
デフォルトの名無しさん (JP 0H7f-eq+O)[sage]   投稿日:2017/02/21 10:43:59  ID:aWgu+CnVH.n
for(i = 0;i < n;i++){
scanf("%s", &ball_cnt[i]);

}
for(i = 0;i < n;i++)
if(strcmp(ball_cnt[i] , "ball") )

strcmpのところなんですけど、文字列じゃないみたいなエラーが出ます
どうすればいい?
コメント2件

937
デフォルトの名無しさん (ワッチョイ 0f4f-Z7AI)[sage]   投稿日:2017/02/21 10:52:08  ID:BgWMeE5K0.n
856からここまで 長い道のりじゃった

938
デフォルトの名無しさん (ワンミングク MM7f-VS2f)[sage]   投稿日:2017/02/21 11:03:44  ID:ltD/wwLEM.n(4)
>936
&

939
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/21 11:52:49  ID:fKpiZ+wv0.n(3)
scanfの幅指定無し%s変換は使用禁止

940
デフォルトの名無しさん (ガラプー KK9f-jCT1)[]   投稿日:2017/02/21 12:33:43  ID:QkDHiBD7K.n(3)
幅指定ってなんで%.20sみたいな書き方じゃないの?
コメント1件

941
デフォルトの名無しさん (ドコグロ MM7f-My/j)[sage]   投稿日:2017/02/21 12:47:30  ID:y0kzTLQNM.n
>936
エスパーすると
char ball_cnt[10];

char ball_cnt[10][100];
にすればいい
コメント1件

942
デフォルトの名無しさん (ドコグロ MM1f-/Y6J)[sage]   投稿日:2017/02/21 12:49:03  ID:dghNTJ/ZM.n
>940
そんなみたいな書き方だが

943
デフォルトの名無しさん (JP 0H7f-eq+O)[sage]   投稿日:2017/02/21 13:05:31  ID:xcI3fiLiH.n
>941
ありがとうございました

944
デフォルトの名無しさん (フリッテル MMff-SEkl)[sage]   投稿日:2017/02/21 14:36:35  ID:0IEOlzl2M.n
しかし粘着に絡まれて大変だな
ご愁傷さまお察しします

945
デフォルトの名無しさん (ガラプー KK9f-jCT1)[]   投稿日:2017/02/21 14:49:04  ID:QkDHiBD7K.n(3)
いや
%.20sじゃなくて%20sじゃん
printfのほうは出力する文字数を%.20sみたいにして指定するのに

946
デフォルトの名無しさん (ワッチョイ 9b85-xqG9)[sage]   投稿日:2017/02/21 18:54:53  ID:vHI0u4yb0.n(3)

947
デフォルトの名無しさん (ワッチョイ db6f-Cx8r)[sage]   投稿日:2017/02/21 18:57:52  ID:lv29oxmo0.n
自分は printf で幅指定はよく使うけど、精度指定はまず使わないな
出力文字数を指定するときに %20s みたいに使って、
入力文字数を指定するときに %20s みたいに使うからわりと対称的

948
デフォルトの名無しさん (ワッチョイ 5b3c-PWPk)[sage]   投稿日:2017/02/21 19:02:12  ID:fi9G+CXq0.n
浮動小数点は精度指定だけ使うことが多いかも %.1f とか %.3f とか

949
デフォルトの名無しさん (ワッチョイ 9b85-xqG9)[sage]   投稿日:2017/02/21 19:06:02  ID:vHI0u4yb0.n(3)
%g は使わないのか?

950
デフォルトの名無しさん (ワッチョイ 9b85-xqG9)[sage]   投稿日:2017/02/21 19:13:00  ID:vHI0u4yb0.n(3)
>872
それはない、x86 でバリバリC言語してた身としては
http://www.lsi-j.co.jp/freesoft/
コメント1件

951
デフォルトの名無しさん (ワッチョイ fb42-P9CU)[sage]   投稿日:2017/02/21 19:39:05  ID:mvy681QG0.n(2)
森公一郎氏、亡くなられているんだな

952
デフォルトの名無しさん (ワンミングク MM7f-VS2f)[sage]   投稿日:2017/02/21 20:44:29  ID:ltD/wwLEM.n(4)
Aztec をApple2で使っていたよ
DOH-CとかBDS-Cも

953
デフォルトの名無しさん (アウアウカー Sa9f-6x/Q)[sage]   投稿日:2017/02/21 21:24:05  ID:I23QSZrAa.n
>950
x86って8086のこと?
もちろん16ビットとかPICやらマイコンでもCは使うのは分かるけどさ、32ビットがデフォでもういいんじゃない?めんどくさいじゃん。キャラクタマシンだか何かよくわからん話してたからさ。それだけだよ。

16ビットの環境ならアセンブラのが普通だったけどね。俺の周りではね。それだけじゃないのは分かるよ。
コメント1件

954
デフォルトの名無しさん (ワンミングク MM7f-VS2f)[sage]   投稿日:2017/02/21 22:06:56  ID:ltD/wwLEM.n(4)
そこで一言多いから当時を知っている人に突っ込まれたり
おちょくられたりするんだがな。
浮川初子さんがインターフェースに一太郎の作り方の記事を書いて
一気に広がったんだよ。LoadRunnerのソース公開の影響もあったが

955
デフォルトの名無しさん (ワッチョイ 0b7b-+OgX)[sage]   投稿日:2017/02/21 22:19:46  ID:C6owlZ6F0.n
そろそろ32bitすらマイナー扱いになろうとしているご時世だけど
"intが最適の型"などという64bitより前の古代でしか通用しない常識は
いつまで信じ続けられるのだろうか

956
デフォルトの名無しさん (ワッチョイ fb42-P9CU)[sage]   投稿日:2017/02/21 22:34:44  ID:mvy681QG0.n(2)
CPUの用途なんて色々なんだから
それに応じてintも色々でいいんじゃ

957
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/21 22:36:11  ID:fKpiZ+wv0.n(3)
doubleの方が速いからdoubleにしろとか言い出す老害
コメント1件

958
デフォルトの名無しさん (スププ Sd7f-Aztl)[]   投稿日:2017/02/21 22:57:59  ID:YCLculbKd.n
>957
え、今は違うの?
コメント1件

959
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/21 23:52:29  ID:fKpiZ+wv0.n(3)
>958
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.4.4.html
こういう老害に毒されてんだろ

最近は普通にSIMD使うからfloatにすれば並列度倍になる
コメント3件

960
デフォルトの名無しさん (ワッチョイ 5f17-P9CU)[sage]   投稿日:2017/02/21 23:59:27  ID:7xwMLvhY0.n
つか浮動小数点数なんか使うなよ
コメント1件

961
デフォルトの名無しさん (ワントンキン MM7f-Mjmn)[]   投稿日:2017/02/22 00:04:36  ID:skecWnENM.n(3)
>959
Copyrightの書かれてる1996年ぐらい昔ならあってるんじゃない?
未だにそのままだと思ってたら老害以外の何者でもないけど

962
デフォルトの名無しさん (ワントンキン MM7f-Mjmn)[]   投稿日:2017/02/22 00:05:57  ID:skecWnENM.n(3)
>960
レベルの違う老害がここに居た

963
デフォルトの名無しさん (スププ Sd7f-Aztl)[]   投稿日:2017/02/22 00:09:11  ID:We9e0t+Dd.n
>959
ひええ毒されてたわ。試してみるわありがとう
コメント2件

964
デフォルトの名無しさん (ワッチョイ 5f3c-extS)[sage]   投稿日:2017/02/22 00:19:18  ID:1Gh+3iOh0.n
float同士の演算ならfloatのほうが速いという認識であってる?
floatが遅いって言われてるのはC言語標準関数がdoubleを受け取るから、
暗黙の型変換の影響で速度が落ちると認識してる。
コメント2件

965
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/22 01:03:38  ID:gYGcupo+0.n(3)
>963
自動ベクトル化は信用ならねー
intrinsicで並列度倍を実感しろ

966
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/22 01:10:01  ID:gYGcupo+0.n(3)
>964
K&Rはfloatはdoubleに昇格して演算してたらしい

967
デフォルトの名無しさん (ワッチョイ 9b76-SUxD)[]   投稿日:2017/02/22 01:30:17  ID:jhnK2Vaj0.n
そろそろ10進に最適化されたアーキテクチャとか出てこんものかのう
コメント1件

968
デフォルトの名無しさん (ワッチョイ 5f17-yXFx)[sage]   投稿日:2017/02/22 01:51:49  ID:/6Ihs1O40.n
機械学習だと小数はfloatの精度で十分なんですが、cでやる時はdoubleを使った方が良いということでしょうか?

969
デフォルトの名無しさん (ワッチョイ fb7b-Mjmn)[]   投稿日:2017/02/22 02:36:14  ID:lOsu94SA0.n(5)
>967
それ、なにか良いことあんの?

970
デフォルトの名無しさん (ワッチョイ 6f13-eq+O)[sage]   投稿日:2017/02/22 05:26:48  ID:va0ygQi40.n(5)
>953
駄目だ,森公一氏に申し訳が立たない
16ビットの環境でもCはそれなりに便利だった

当然,64ビットの環境では,sizeof(int)==8 であるべきだと思っている
コメント1件

971
デフォルトの名無しさん (ワッチョイ 6f13-eq+O)[sage]   投稿日:2017/02/22 05:30:15  ID:va0ygQi40.n(5)
>959
普通のCの記述を SIMD に替えてくれるコンパイラなんかあるのか?
0 クリアとか特殊な環境じゃないか?
SIMD を使うには,自力でインラインアセンブラを書くしかないのでは?

SIMD にかわるソースとコンパイラをさらせ
コメント3件

972
デフォルトの名無しさん (ワッチョイ 6f13-eq+O)[sage]   投稿日:2017/02/22 05:30:36  ID:va0ygQi40.n(5)
>963
すぐなびかれるやつ‥
コメント1件

973
デフォルトの名無しさん (ワッチョイ 6f13-eq+O)[sage]   投稿日:2017/02/22 05:32:30  ID:va0ygQi40.n(5)
>964
少し前は float で書こうと double で書こうと,結局は同じ FPU で処理されるから,速度は同じだった
今は単精度の方が早い演算ユニットがあるとのことだが‥
コメント1件

974
デフォルトの名無しさん (ドコグロ MM9f-My/j)[sage]   投稿日:2017/02/22 06:51:17  ID:sG12pa6iM.n
>972
普通に靡く(なびく)でいい

975
デフォルトの名無しさん (ワッチョイ dfc0-fRM8)[sage]   投稿日:2017/02/22 07:05:30  ID:0mdr3Sk20.n
歴史本の挿絵見てみんなこんな格好すんのかと思い自分もちょんまげ結うみたいな

976
デフォルトの名無しさん (ワッチョイ 6f13-eq+O)[sage]   投稿日:2017/02/22 07:07:10  ID:va0ygQi40.n(5)
>971
intrinsics があるねコンパイラ間の互換性はどうかな

977
デフォルトの名無しさん (ワッチョイ 8bfd-Z7AI)[sage]   投稿日:2017/02/22 07:48:18  ID:VKa3Qwp50.n
多宗教言語。
争いが絶えません…。

978
デフォルトの名無しさん (ワンミングク MM7f-VS2f)[sage]   投稿日:2017/02/22 08:23:52  ID:0bPwhBMCM.n
フリンの分類なんてインモス社の時代で90年代の話だな
今は普通FPGAで高位合成だし。

979
デフォルトの名無しさん (アウアウカー Sa9f-6x/Q)[sage]   投稿日:2017/02/22 08:25:08  ID:UyPBUJB2a.n
>970
分かった分かったw
どっちでもいいよ。そんなことで議論になるのはここだけだから。
ちなみに64ビットでintが8バイトならlongはいくつが正解なの?2バイト、4バイトのデータはどうやって定義するの?
コメント1件

980
デフォルトの名無しさん (ワッチョイ 9b7b-KWkY)[sage]   投稿日:2017/02/22 08:57:56  ID:gYGcupo+0.n(3)
>971
この程度の常識を知らない上に検索すらできないのか

さらせじゃなくて教えて下さいだろ
死ねゴミクズ

981
デフォルトの名無しさん (ドコグロ MM7f-/Y6J)[sage]   投稿日:2017/02/22 09:13:00  ID:JYVNL8lSM.n
>973
openCLとかGPU演算だとfloatが普通だね

>979
inttypes.h使えよ

982
デフォルトの名無しさん (ワッチョイ fb7b-NnZO)[sage]   投稿日:2017/02/22 09:39:03  ID:lOsu94SA0.n(5)

983
デフォルトの名無しさん (ワッチョイ fb7b-NnZO)[sage]   投稿日:2017/02/22 09:43:45  ID:lOsu94SA0.n(5)
vec3なのに要素4つじゃねえかというもっともなツッコミは主題と関係ないので受け付けません。

984
デフォルトの名無しさん (ブーイモ MM1f-88IT)[sage]   投稿日:2017/02/22 09:57:16  ID:mTbC51LDM.n
clangもsimd化できるのか
配列をループで回す場合はどうなんだろ

985
デフォルトの名無しさん (フリッテル MMff-SEkl)[sage]   投稿日:2017/02/22 10:20:36  ID:3Ury4/yQM.n
>982
ライブラリ使ってるだけじゃねーか
コメント2件

986
デフォルトの名無しさん (ワッチョイ fb7b-Mjmn)[]   投稿日:2017/02/22 10:27:26  ID:lOsu94SA0.n(5)
>985
ちょっとなに言ってるのか分かりません…
誰か翻訳お願いします…

987
デフォルトの名無しさん (ワッチョイ fb7b-NnZO)[sage]   投稿日:2017/02/22 10:36:50  ID:lOsu94SA0.n(5)
もしかしてC言語スレなのにC++の高度な機能"参照"を使っちゃったから
>985 の脳内Parserがバグっちゃったのかな…?

https://godbolt.org/g/odjVPD

C言語だけで書き直したので許してください。

988
デフォルトの名無しさん (JP 0H1f-vlft)[sage]   投稿日:2017/02/22 10:56:08  ID:T1tKwjPzH.n(2)
入力不正はバグじゃないだろ
コメント1件

989
デフォルトの名無しさん (ワントンキン MM7f-Mjmn)[]   投稿日:2017/02/22 11:06:20  ID:skecWnENM.n(3)
>988
入力と全く関係ない出力だしてたらメモリ破壊を疑うレベルのバグでしょ

990
デフォルトの名無しさん (ガラプー KK9f-jCT1)[]   投稿日:2017/02/22 11:09:26  ID:YkHu5T7KK.n
8進数で表示ってどうやんの?

991
デフォルトの名無しさん (JP 0H1f-vlft)[sage]   投稿日:2017/02/22 11:15:06  ID:T1tKwjPzH.n(2)
%o

992
デフォルトの名無しさん (JP 0H7f-eq+O)[sage]   投稿日:2017/02/22 14:22:54  ID:0ByvbR5mH.n
fprintf(stderr, "エラー: ファイルがオープンできません: %s\n", filename);

inputfile = fopen("a.txt", "r");
if (inputfile == NULL) {
fprintf(stderr, "エラー: ファイルがオープンできません\n");
exit(1);
}
2つの違いって何?

993
デフォルトの名無しさん (ワッチョイ 0b7b-+OgX)[sage]   投稿日:2017/02/22 18:57:21  ID:xeEkzIw00.n

994
デフォルトの名無しさん (ワッチョイ de7b-yCfG)[sage]   投稿日:2017/02/23 04:56:21  ID:gBe3T0DV0.n
うめ

995
デフォルトの名無しさん (ワッチョイ 2317-lJUo)[sage]   投稿日:2017/02/23 04:58:40  ID:ZvvhW9wz0.n
たけ

996
デフォルトの名無しさん (ワッチョイ bf7b-FQj1)[sage]   投稿日:2017/02/23 05:02:08  ID:9COuC8bh0.n
まつ

997
デフォルトの名無しさん (ブーイモ MMc7-9rcX)[sage]   投稿日:2017/02/23 12:04:56  ID:Y2IzSc+YM.n
きり

998
デフォルトの名無しさん (ワッチョイ 03a1-qQc9)[sage]   投稿日:2017/02/23 14:01:17  ID:/SYc2KR20.n
printfってすごいね

999
デフォルトの名無しさん (ワッチョイ 6b7b-JtgB)[sage]   投稿日:2017/02/23 15:26:17  ID:lA8ifvC90.n
ぼうず

1000
デフォルトの名無しさん (ワッチョイ 233b-8xjF)[sage]   投稿日:2017/02/23 16:51:52  ID:PCt9ZqJm0.n
憎けりゃ袈裟まで
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

プログラム板 タイトル検索

このスレッドが人気です(実況系)
NHK総合を常に実況し続けるスレ 134179 出会い系バー (846)NHK実況
所さん!大変ですよ「人生の楽園!?謎の改造軽トラ」★2 (610)NHK実況
プレバト才能ランキング【俳句★水彩画】★3 (641)TBS実況
人名探究バラエティー 日本人のおなまえっ!【佐藤】★2 (626)NHK実況
実況 ◆ フジテレビ 83465 (764)フジ実況
バイキングとグッディ★6 (956)フジ実況
得する人損する人 レトルトカレー即席麺が簡単格上げワザ ★3 (552)NTV実況
大相撲夏場所 十二日目 ☆6 (687)NHK実況
このスレッドが人気です(ニュース系)
<加計学園>前文科事務次官「文書は確実に存在」 (1000)ニュー速+
【菓子】「カール」中部以東で販売終了 ブランド存続へ全面中止回避 関西以西は「チーズあじ」「うすあじ」継続 カールおじさんも★2 (1000)ニュー速+
前川喜平さん記者会見 「出会いバー通い、女性の貧困について話を聞いていた」wwwwww★2 (1000)ニュー速
【菓子】「カール」中部以東で販売終了 ブランド存続へ全面中止回避 関西以西は「チーズあじ」「うすあじ」継続 カールおじさん継続 (1000)ニュー速+
【社会】通学路に猛スピードの車、逃げ惑う生徒らの姿…車内から撮影の投稿動画 大阪府警が捜査 (874)ニュー速+
【NHK受信料】ワンセグでも受信料支払い義務あり 水戸地裁★2 (994)ニュー速+
【芸能】「カール」販売終了に悲しみのツイート多数…植田佳奈「うすあじがぁぁぁぁぁぁ」 (865)音楽・芸能ニュース
【速報】 前川喜平さん記者会見 「出会いバー通い、女性の貧困について話を聞いていた」wwwwww (1000)ニュー速
プログラム板の人気スレ
Excel VBA 質問スレ Part48 (253)
ふらっと C#,C♯,C#(初心者用) Part128 (515)
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代 (732)
C言語なら俺に聞け 140 (272)
スレ立てるまでもない質問はここで 147匹目 (1002)
くだすれPython(超初心者用) その33 (945)
【統計分析】機械学習・データマイニング15 (618)
Xamarin Part4 (243)
Visual Studio 2017 Part2 (535)
オブジェクト指向って自然な文法だな 3 (619)
Linuxでお手軽にプログラムを組む方法を教えてくれ (52)
ねねっちと一緒にプログラムを勉強するスレ第2話 (788)
Ruby 初心者スレッド Part 60 (271)
Java入門・初心者質問スレ Part.3 (516)
Git 15 (822)
推薦図書/必読書のためのスレッド 81 (905)
Swift part10 (683)
C++相談室 part130 (375)
Visual Studio 2015 Part8 (728)
C#, C♯, C#相談室 Part94 (190)
ふらっと C#,C♯,C#(初心者用) Part127 (408)
JavaScript の質問用スレッド vol.123 (278)
Pythonのお勉強 Part53 (63)
スマホでは容量的にナンセンスなブロックチェーン (86)
【PHP】下らねぇ質問はここに書き込みやがれ 8 (321)
C# vs Java どっちが好き? その3 (284)
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21 (69)
Androidプログラミング質問スレ revision53 (351)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)