5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

char *c[44] = {"C言語のことは漏れに聞け!"};

1 :デフォルトの名無しさん:02/11/20 21:47
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しろ。
むしろ質問する前にWEBで検索するのが常識だ。

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行け。
コンパイラを探しているなら >>2 を見よ。

上記を逸した場合の結果は激しく未定義とする。

C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

前スレ
c[43] = "http://pc3.2ch.net/test/read.cgi/tech/1037281411/";

2 :デフォルトの名無しさん:02/11/20 21:48
【コンパイラ】
gcc
http://gcc.gnu.org/

【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/

【ライセンスや機能などに問題あり】
Microsot C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html


3 :デフォルトの名無しさん:02/11/20 21:48
c[42] = "http://pc3.2ch.net/test/read.cgi/tech/1037101156/";
c[41] = "http://pc3.2ch.net/test/read.cgi/tech/1036876790/";
c[40] = "http://pc3.2ch.net/test/read.cgi/tech/1036673739/"; // 待機中
c[39] = "http://pc3.2ch.net/test/read.cgi/tech/1036409391/"; // 待機中
c[38] = "http://pc3.2ch.net/test/read.cgi/tech/1035729526/"; // 待機中
c[37] = "http://pc3.2ch.net/test/read.cgi/tech/1035623265/"; // 待機中
c[36] = "http://pc3.2ch.net/test/read.cgi/tech/1035211039/"; // 待機中
c[35] = "http://pc3.2ch.net/test/read.cgi/tech/1034337064/"; // 待機中
c[34] = "http://pc3.2ch.net/test/read.cgi/tech/1033240509/"; // 待機中
c[33] = "http://pc3.2ch.net/test/read.cgi/tech/1032606064/"; // 待機中
c[32] = "http://pc3.2ch.net/test/read.cgi/tech/1031905402/"; // 待機中
c[31] = "http://pc3.2ch.net/test/read.cgi/tech/1031340950/"; // 待機中
c[30] = "http://pc3.2ch.net/test/read.cgi/tech/1030786546/"; // 待機中
c[29] = "http://pc3.2ch.net/test/read.cgi/tech/1029605182/"; // 待機中
c[28] = "http://pc3.2ch.net/test/read.cgi/tech/1028495798/"; // 待機中
c[27] = "http://pc3.2ch.net/test/read.cgi/tech/1027160374/"; // 待機中
c[26] = "http://pc.2ch.net/tech/kako/1026/10260/1026048820.html";
c[25] = "http://pc.2ch.net/tech/kako/1024/10249/1024918442.html";
c[24] = "http://pc.2ch.net/tech/kako/1024/10240/1024033400.html";
c[23] = "http://pc.2ch.net/tech/kako/1022/10224/1022402165.html";
c[22] = "http://pc.2ch.net/tech/kako/1022/10224/1022402165.html";
c[21] = "http://pc.2ch.net/tech/kako/1022/10220/1022045622.html";


4 :デフォルトの名無しさん:02/11/20 21:49
c[20] = "http://pc.2ch.net/tech/kako/1021/10214/1021459016.html";
c[19] = "http://pc.2ch.net/tech/kako/1020/10207/1020756993.html";
c[18] = "http://pc.2ch.net/tech/kako/1020/10202/1020260813.html";
c[17] = "http://pc.2ch.net/tech/kako/1019/10193/1019372139.html";
c[16] = "http://pc.2ch.net/tech/kako/1018/10184/1018453690.html";
c[15] = "http://pc.2ch.net/tech/kako/1016/10165/1016519243.html";
c[14] = "http://pc.2ch.net/tech/kako/1015/10152/1015286974.html";
c[13] = "http://pc.2ch.net/tech/kako/1013/10139/1013990673.html";
c[12] = "http://pc.2ch.net/tech/kako/1012/10123/1012348974.html";
c[11] = "http://pc.2ch.net/tech/kako/1009/10094/1009499565.html";
c[10] = "http://pc.2ch.net/tech/kako/1008/10083/1008300863.html";
c[9] = "http://pc.2ch.net/tech/kako/1007/10072/1007272267.html";
c[8] = "http://pc.2ch.net/tech/kako/1005/10058/1005811510.html";
c[7] = "http://pc.2ch.net/tech/kako/1005/10058/1005811510.html";
c[6] = "http://piza2.2ch.net/tech/kako/999/999617524.html";
c[5] = "http://piza2.2ch.net/tech/kako/994/994908590.html";
c[4] = "http://piza.2ch.net/tech/kako/992/992357382.html";
c[3] = "http://piza.2ch.net/tech/kako/989/989929288.html";
c[2] = "http://piza.2ch.net/tech/kako/979/979529893.html";
c[1] = "http://piza.2ch.net/tech/kako/967/967985026.html";
/* c[0]はタイトルで初期化済み */


5 :デフォルトの名無しさん:02/11/20 21:49


  い つ に な っ た ら C 9 9 完 全 準 拠 の

  処 理 系 が 出 る ん だ ?




6 :デフォルトの名無しさん:02/11/20 21:51
>>1
死ね

7 :デフォルトの名無しさん:02/11/20 21:53
strcpy(*c, "乙カレー!");

8 :manko_chinko ◆GLc2rpKRNM :02/11/20 21:57
>>5
だすいみないと思いますが

9 :デフォルトの名無しさん:02/11/20 21:59
.NET Framework SDKってC/C++対応してるのか?

10 :デフォルトの名無しさん:02/11/20 22:00
>>9
してる

11 :デフォルトの名無しさん:02/11/20 22:02
タイトルつまんね。

12 :デフォルトの名無しさん:02/11/20 22:05
>10
csc.exe, vbc.exe, jsc.exeしか見当たらないけど。
コンパイラのファイル名は?

13 :デフォルトの名無しさん:02/11/20 22:06
割れ氏ね

14 :デフォルトの名無しさん:02/11/20 22:10
フリーなのに割れるのか

15 :デフォルトの名無しさん:02/11/20 22:16
>>12
cl.exe

16 :デフォルトの名無しさん:02/11/20 22:24
分割コンパイルしないヤシ氏ね

17 :デフォルトの名無しさん:02/11/20 22:36
#include "mylib.c"
#include "mylib2.c"


18 :デフォルトの名無しさん:02/11/20 22:40
#incude"コピー 〜 stdio.h"

19 :デフォルトの名無しさん:02/11/20 22:42
#incude"stdio.h へのショートカット"

20 :デフォルトの名無しさん:02/11/20 23:00
保守sage

21 :デフォルトの名無しさん:02/11/20 23:14
cu??

22 :1:02/11/21 01:44
age

23 :デフォルトの名無しさん:02/11/21 02:02
保守sage

24 :デフォルトの名無しさん:02/11/21 05:02
>>19ワラタ

25 :デフォルトの名無しさん:02/11/21 07:35
何事にも必死になれないおまえらよりはましだ。

26 :デフォルトの名無しさん:02/11/21 08:22
#include "hspext.as"


27 :デフォルトの名無しさん:02/11/21 09:07
gcc 2.95.4 on linux
/* 簡単の為エラーチェックは無し */
#include <stdio.h>
#include <dirent.h>
#include <sys/types.h>

int main(void) {
  char *path = "hoge";
  DIR *dir = opendir(path);
  struct dirent *dp;
  while ((dp = readdir(dir))) {
    /* directory type to inode file */
    printf("%u,%s\n", DTTOIF(dp->d_type), dp->d_name);
  }
  closedir(dir);
  return 0;
}
上記のプログラムでファイルがディレクトリかどうかの区別ができるようなんだけど、
DTTOIF(dp->d_type)の値が全て0になってしまいます。
理由が分かる人がいたら教えて貰えたら嬉しいです。
因みにstat(2)を使ってst_modeを取得するとちゃんと判別してくれます。
環境依存なのでsage。


28 :名無しさん@XEmacs:02/11/21 10:20
>>27
BUGS
Field d_type is not implemented as of libc6 2.1 and will
always return DT_UNKNOWN (0).



29 :デフォルトの名無しさん:02/11/21 10:24
>>27
struct direntで保証されてるのはdp->d_name[NAME_MAX]だけです。
他に有用な情報が返ってくるという保証は無いdeath。

30 :デフォルトの名無しさん:02/11/21 10:47
>>28,29
ありがとう御座います。

ここら辺は実装にかなり違いがあるようですね。


31 : :02/11/21 13:57
λ...... ここ変だよ・・        λ......       λ......
  λ......            λ...... 失敗だったネ…
 λ......      λ......
        λ......                  λ...... 逃げていく…
    λ......             λ......
                λ......
 λ......       λ......          λ...... みんな逃げていく…
λ...... ここ変だよ・・        λ......       λ......
  λ......            λ...... 失敗だったネ…
 λ......      λ......
        λ......                  λ...... 逃げていく…
    λ......             λ......
                λ......
 λ......       λ......          λ...... みんな逃げていく…

32 :デフォルトの名無しさん:02/11/21 17:51
C言語でベーシックの「CLS」のような命令は使えますか?

33 :デフォルトの名無しさん:02/11/21 18:18
>>32
int i=10000;
while(i--) putchar('\n');


34 :デフォルトの名無しさん:02/11/21 18:29
>>32
ありません。
CLS の機能は 「画面の全ての文字をを消去してカーソルをホームに戻す」 ですが、
C ではそもそも 「画面」 が定義されていません。
処理系依存なので、使っているコンパイラ等に頼る事になります。

ちなみに、33 の方法では 「画面の全ての文字をを消去」 を果たす事ができますが、
「カーソルをホームに戻す」 の標準的な方法はありません。

35 :デフォルトの名無しさん:02/11/21 18:35
>>34
処理系依存じゃない方法もあるじゃん。
環境依存にはなるけど。

36 :デフォルトの名無しさん:02/11/21 18:36
ちなみに、ANSI.SYS が動いてれば printf("\x1b[2J") で逝ける。

37 :デフォルトの名無しさん:02/11/21 18:47
ansi.sys

38 :デフォルトの名無しさん:02/11/21 19:00
この前から気になってたんだけどさ、

      「ansi.sys」      ってなに?

何処で手にはいるの?

39 :デフォルトの名無しさん:02/11/21 19:02
M$-DOSスレに逝け

40 :JPS ◆M0LaMzf5rY :02/11/21 19:06
putcharを無理して使う必要ってある?
printfよりいいとこあるとか・・・

例えば、ループで配列をどんどん画面に出力して、最後に改行したいってときに
putchar使うのはよくあることでつか?

41 :デフォルトの名無しさん:02/11/21 19:08
ベンチマーク作って速度試してみては?>>40

42 :デフォルトの名無しさん:02/11/21 19:12
>>40
putchar( '\n' );
ですむとこを無理して
printf( "\n" );
にすることも無いよね

43 :デフォルトの名無しさん:02/11/21 19:13
今の時代にはあわないかもしれんが、printfで""の中身を解析するのに時間かかった時代もあった
putcharとかだと、解析の手間はないですよね。

44 :デフォルトの名無しさん:02/11/21 19:15
>>42
たいして無理してるようには見えない罠

45 :38:02/11/21 19:18
質問してきた。

46 :デフォルトの名無しさん:02/11/21 19:21
>>40
'\n' とかの定数だったら printf() に直せるけど、変数だったら putchar(c); で
済むところを printf("%c", c); って書かなきゃ逝けないだろ。
実際に printf() と putchar() と同じものを (出力は fwrite(stdout) を使って)
書いてみろ。
printf() がどれだけ無駄かがわかる。

>>43
(゚Д゚)ハァ?
printf() のコストが高いのは今も変わりませんが何か?

47 :デフォルトの名無しさん:02/11/21 19:21
DR-DOSでもぐぐりなされ>38

48 :デフォルトの名無しさん:02/11/21 19:28
改行だけなら俺はputs("");とやる。

49 :デフォルトの名無しさん:02/11/21 19:31
register int i=100000;
while(i--) putchar('a');

とやるよりも

register int i=10000;
while(i--) fputs("aaaaaaaaaa",stdout);

とやった方が遙かに速い?


50 :デフォルトの名無しさん:02/11/21 19:31
「時間がかかった」てのはマシンスペックのことでないか。

51 :デフォルトの名無しさん:02/11/21 19:34
>>49
どうせなら fwrite() にしとけ。

52 :デフォルトの名無しさん:02/11/21 19:52
>>51
fwriteの方が速いの?
例のlongバイトごとに処理するってやつ?

53 :JPS ◆M0LaMzf5rY :02/11/21 20:02
>>46
そんな使い方があったね。getchatとputcharってやっぱ一緒につかいませう。
さんくすべりべり。

54 :デフォルトの名無しさん:02/11/21 20:02
>>52
memcpyと混同してない?
バッファ使わないからむしろ遅くなったりしないかな?>fwrite

55 :デフォルトの名無しさん:02/11/21 20:03
そこまでくると処理系依存というオチですか?

56 :デフォルトの名無しさん:02/11/21 20:03
>>53
getchat は解せんな
揚げ足取りゴメソ

57 :デフォルトの名無しさん:02/11/21 20:17
>>54
お前こそfwriteとwriteを混同してないか?
ストリームってなんだかわかってるのか?

fread, fwrite - バイナリストリームの入出力
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fwrite.3.html

write - ファイル・ディスクリプタ (file descriptor) に書き込む
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/write.2.html

58 :54:02/11/21 20:19
   ∧_∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (ω・ )ゝ < なんだって?>>57
.  ノ/  /     \_______
  ノ ̄ゝ

59 :デフォルトの名無しさん:02/11/21 20:22
>>58==54
消防

60 :デフォルトの名無しさん:02/11/21 20:23
>>49
putchar()とputc()は「出力のバッファに空きがあったらそこに書き込む。
バッファがいっぱいになったらバッファを書き出す関数を呼ぶ」というマクロに
なってる場合が多いけど、fputs()は毎回普通に関数を呼ぶことになる。
だから「遥かに速い」というほどの違いはないかも。


61 :54:02/11/21 20:25
はいはい、おれが悪かった。
謝りゃいーんだろ?謝りゃ?
ごめんごめんでごめりんこ
おしりペンペンボールペン

62 :デフォルトの名無しさん:02/11/21 20:25
しかしCが出てもう30年も経とうというのに
未だにこんな低レベルな話題で盛り上がれるとはね。

63 :デフォルトの名無しさん:02/11/21 20:25
>>59
==の使い方が(・∀・)イイ!

64 :デフォルトの名無しさん:02/11/21 20:29
>>60
> バッファがいっぱいになったらバッファを書き出す関数を呼ぶ」という
> マクロになってる場合が多いけど
昔はマクロの方が多かったけど、最近はスレッドセーフに対応せねば
ならんので、マクロになっていことの方が多いけどな

65 :デフォルトの名無しさん:02/11/21 20:30
Cが出来てからは長く時がたっているが、
Cをはじめた人は後をたたない。

66 :デフォルトの名無しさん:02/11/21 20:31
むしろ古い規格を引きずってるのが混乱の元と思われ。

67 :デフォルトの名無しさん:02/11/21 20:31
>>62
いまだに大学で教えるプログラミングはCからだよ。
うちの学校じゃ2年になったらJavaやC++もやるけど、
大抵の学部だったらCのみだもん。
じじいは早くしんでくれや

68 :60:02/11/21 20:34
>>64
なるほど。スレッド対応のことをすっかり忘れてたよ。
昔の常識は今の非常識か。


69 :デフォルトの名無しさん:02/11/21 20:34
え”、大学って自分で勉強するとこじゃないの?

70 :デフォルトの名無しさん:02/11/21 20:34
>>67
いまだにって...うちでは以前までPascalを初めに教えてて、
Cになったのは最近なんですが.......(;´Д`)

71 :デフォルトの名無しさん:02/11/21 20:35
>>67
それはお前の逝ってる三流大学のじじい教授がCしかできないからだよ。
氏ぬのはおめーらだ。

72 :manko_chinko ◆GLc2rpKRNM :02/11/21 20:35
>>67
ばーか、Cで十分なんだよ
だいたいc++ぐらい自分で勉強しろや!

73 :デフォルトの名無しさん:02/11/21 20:37
>>69
自分で勉強するなら大学はいりません。

74 :デフォルトの名無しさん:02/11/21 20:39
大学でC#を教えてるとこなんて、日本には存在しませんが何か?
というか大学でプログラムを教える必要なんてない!
システム開発と運用について学べ!

75 :デフォルトの名無しさん:02/11/21 20:40
>>69
>>71
>>72
大学にいけず、苦労したバカたち。哀れでつね・・・
さてと、彼女とドライブに行こうかな。
当方大学4年で、ソフトバンクに就職きまりましたが。ごめそ

76 :デフォルトの名無しさん:02/11/21 20:41
>>75
非常に寒いですな

77 :デフォルトの名無しさん:02/11/21 20:42
そりゃ大学の干からびたじじいがC#なんて最新のもの知っているわけないなぁ。
知っててもボケた頭じゃ覚えられんだろうて。

78 :デフォルトの名無しさん:02/11/21 20:42
>>76
お前が一番な

79 :manko_chinko ◆GLc2rpKRNM :02/11/21 20:43
>>75
大学どころか高校入試もあぶないよコノヤロウ!!

80 :デフォルトの名無しさん:02/11/21 20:43
>>77
うちの大学には1人だけ若い教授がいて、C,C++,C#,Javaとかを使えるらしい。
というか、話をきくと、ジジイどもは覚えられないから
その教授一人に押し付けたそうな・・・
かわいそう・・・。PGだったら寿命なんさいなの?

81 :デフォルトの名無しさん:02/11/21 20:43
>ソフトバンク
前途洋洋ですな(藁
http://quote.yahoo.co.jp/q?s=9984.t&d=1y

82 :75:02/11/21 20:44
イパーイ釣れた
特に81はおつかれさん

83 :デフォルトの名無しさん:02/11/21 20:45
>>82
イパーイて二人だろ。しね

84 :デフォルトの名無しさん:02/11/21 20:47
>>80
Java ぐらいジジイでも覚えられるだろ。
単にアフォなだけ。年のせいにするな。

85 :デフォルトの名無しさん:02/11/21 20:56
高円宮って誰だよっ!!

86 :デフォルトの名無しさん:02/11/21 20:58
オレ

87 :デフォルトの名無しさん:02/11/21 20:58
>>67
そういうところはANSI通らないコンパイラ使ってるよ
昔のlatticeとか

88 :デフォルトの名無しさん:02/11/21 20:59
隣の人の友達の奥さんの子供が行っている大学の子供の父

89 :デフォルトの名無しさん:02/11/21 21:00
大学の子供?

90 :デフォルトの名無しさん:02/11/21 21:01
こういうのはマ板でやれ。

91 :デフォルトの名無しさん:02/11/21 21:05
クソSEどもはマ板へ(・∀・)カエレ!!!

92 :manko_chinko ◆GLc2rpKRNM :02/11/21 21:05
やはりマブナとか真鯉がいるようにマ板も何ですよ

93 :デフォルトの名無しさん:02/11/21 21:07
誰か >>92 を翻訳してくらはい。

94 :デフォルトの名無しさん:02/11/21 21:08
質問させてください

typede  unsigned long u32;
#define REG_DISPCNT  *(u32*)0x4000000

とあるんですが*(u32*)0x4000000のところがどういうことなのかよくわかりません
どなたか細かく教えていただけませんか?

95 :デフォルトの名無しさん:02/11/21 21:09
>>94
環境依存の話すんな

96 :デフォルトの名無しさん:02/11/21 21:09
>>94
u32型へのポインタへキャストしてデリファレンス

97 :デフォルトの名無しさん:02/11/21 21:09
>>93
バカは放置。これ鉄則。

98 :デフォルトの名無しさん:02/11/21 21:10
>>95
DQNですか?

99 :デフォルトの名無しさん:02/11/21 21:10
DQNでないCerは存在しない。

100 :デフォルトの名無しさん:02/11/21 21:11
REG_DISPCNT = 1;
とかにすりゃ、メモリの0x4000000番地に1が入るというネタでは?

101 :manko_chinko ◆GLc2rpKRNM :02/11/21 21:11
>>97
あなたには日本語の行く末がわからないようですね

102 :デフォルトの名無しさん:02/11/21 21:13
>>94
そのままではエラー
と言ってみるテスト

103 :デフォルトの名無しさん:02/11/21 21:14
こんなことだから「すれ立てるまでもない質問」スレに規格論争持っていかれるんだ。
情けない。

104 :デフォルトの名無しさん:02/11/21 21:15
なんでエラーになるのかちゃんと説明できる奴はおらんのか。
自己満足厨ばかりだな。

105 :デフォルトの名無しさん:02/11/21 21:16
>>104
typedeって何?

106 :manko_chinko ◆GLc2rpKRNM :02/11/21 21:18
>>105
タイプで。

107 :デフォルトの名無しさん:02/11/21 21:19
>>106
いーからおまえはだまってろ

108 :デフォルトの名無しさん:02/11/21 21:20
>>104
まぁtypedeを説明されるまで気づかない厨がいるわけだが・・・

109 :デフォルトの名無しさん:02/11/21 21:22
>>110
いーからおまえはだまってろ


110 :デフォルトの名無しさん:02/11/21 21:23
>>109
うるせー馬鹿

111 :デフォルトの名無しさん:02/11/21 21:44
下らんっ!!!あまりにもレベルが低すぎるっっ!!!
儂が直々に手を下すまでもないわっっっ!!!!
行けっ!!手下共っ!!!この糞スレを燃やし尽くすのだっ!!!
ぐわははははははhahahaha!!!

112 :デフォルトの名無しさん:02/11/21 21:51
>>111
ふーん。それで? 荒らしって奴?

113 :デフォルトの名無しさん:02/11/21 22:03
>>112
反応するなって無視しろ

114 :デフォルトの名無しさん:02/11/21 22:06
>>113
そう言いながらあげてるお前は何がしたいの?

115 :デフォルトの名無しさん:02/11/21 22:08
>>114
反応せず無視してください

116 :113:02/11/21 22:09
sage入れ忘れただけなのに煽られちった。




ウザッ

117 : :02/11/21 22:15
λ...... ここ変だよ・・        λ......       λ......
  λ......            λ...... 失敗だったネ…
 λ......      λ......
        λ......                  λ...... 逃げていく…
    λ......             λ......
                λ......
 λ......       λ......          λ...... みんな逃げていく…
λ...... ここ変だよ・・        λ......       λ......
  λ......            λ...... 失敗だったネ…
 λ......      λ......
        λ......                  λ...... 逃げていく…
    λ......             λ......
                λ......
 λ......       λ......          λ...... みんな逃げていく…

118 :manko_chinko ◆GLc2rpKRNM :02/11/21 22:16
>>116
そんなこと気にしなくても
sageいれろいれろと口を酸っぱくして逝ってる人は自分の愚かさに気づいてないだけです
聖書を読み直しなさい

119 :デフォルトの名無しさん:02/11/21 22:18
>>118
お前が JPS よりも格下なのはよくわかったから黙ってくれ。

120 :デフォルトの名無しさん:02/11/21 22:21
>>119
JPS必死だな

121 :デフォルトの名無しさん:02/11/21 22:22
>>119
格下であってバカと書いていないところに謙虚さが感じられる

122 :manko_chinko ◆GLc2rpKRNM :02/11/21 22:27
一部の偏屈によってこのスレの雰囲気もだいぶ変わりましたねぇ。
まぁ、やはり、日本での布教活動を重要視してなかった大昔のヨーロッパ人が悪いんですかねぇ。

123 :manko_chinko ◆8L5BB/1m8. :02/11/21 22:27
偽者ですが何か?

124 :manko_chinko ◆iNDnF2OIr2 :02/11/21 22:28
こちらも偽者ですが何か?

125 :デフォルトの名無しさん:02/11/21 22:29
ちなみに123のトリップは非常に簡単だから誰か騙ってみてくれ。

126 :デフォルトの名無しさん:02/11/21 22:30
2ちゃんねるってよく便所の落書きって言われるけど、本当に便所に
C言語がつらつらと書いてあったらと思うと夜も眠れません。

127 :JPS ◆M0LaMzf5rY :02/11/21 22:31
rand()って関数はどうやって乱数をだしてるの?
疑似乱数ってやつですか?

128 :デフォルトの名無しさん:02/11/21 22:31
またJPSのバカがきたよ。

129 :デフォルトの名無しさん:02/11/21 22:32
>>127
コンパイラによります

130 :デフォルトの名無しさん:02/11/21 22:32
あ、真面目に答えてはいけない相手だったのでしょうか

131 :デフォルトの名無しさん:02/11/21 22:33
>>128
少なくともお前よりはバカじゃないがな(w

132 :manko_chinko ◆GLc2rpKRNM :02/11/21 22:34
>>129
え、コンパイラによるんですか?

133 :JPS ◆M0LaMzf5rY :02/11/21 22:39
いまアルゴリズムの本借りてきて
1〜nの乱数を返す関数ってので

int irnd(int n)
{
   return (int)(rand()/32767.1*n+1);
}
ってのが出てきたんだけど、これはいったいなんなのかなって・・・
普通にrand()%n+1と一緒でないのかな・・・

134 :デフォルトの名無しさん:02/11/21 22:39
>>129
新事実!!rand()の実装はコンパイラ依存!!

135 :デフォルトの名無しさん:02/11/21 22:41
>>133
rand()%n + 1
だと出る値に偏りが出るらしい

136 :デフォルトの名無しさん:02/11/21 22:43
そろそろコテハンを放置するくらいの気構えを持とうじゃないか。

137 :JPS ◆M0LaMzf5rY :02/11/21 22:44
>>135
マジっすか。てことは浮動小数点で実装?

138 :デフォルトの名無しさん:02/11/21 22:45
>>130
JPSは他人の振りしてクソすれと重複スレを立てた前科があります。

139 :JPS ◆M0LaMzf5rY :02/11/21 22:46
>>138
くそスレの経験はありませんが、このスレの前スレを立てました

140 :デフォルトの名無しさん:02/11/21 22:51
>>130
いや、ここは JPS を育てるスレだから大丈夫だ。

>>137
簡易的な乱数生成器は、下位ビットがあまりランダムでないとされている。
なので、より多くの下位ビットを拾う % よりも、より多くの上位ビットを拾う
/ が使われる。

141 :140:02/11/21 22:52
って、C FAQ に書いてなかったか?

142 :デフォルトの名無しさん:02/11/21 22:52
質問です。
 V=0.5*a*t*t V;速度 a:加速度 t:時間(秒)
この式に対応して物体が移動するプログラムを作る場合
c言語において、時間tはどのようにして表すのですか?

へたくそな説明ですみませんがどなたか教えてください。お願いします

143 :デフォルトの名無しさん:02/11/21 22:53
> いや、ここは JPS を育てるスレだから大丈夫だ。
いつからここはJPSを育てるスレになったんですか?

バカ、氏ね。

144 :デフォルトの名無しさん:02/11/21 22:53
for(t=0.0; t<10.f; t+=0.1)

145 :デフォルトの名無しさん:02/11/21 22:55
for ( t = 0.0; (10-t) < epsiron; t += 0.01 )

146 :デフォルトの名無しさん:02/11/21 22:55
>>144
10.fって10.0fと同じ?

147 :デフォルトの名無しさん:02/11/21 22:58
>>146
同じだけどfはいらなかった。

>>145
ここでeはいらんだろ。

148 :デフォルトの名無しさん:02/11/21 22:59
>>147
さんきゅ。
.0なら小数点以下は書かなくてもいいのか。

149 :142:02/11/21 23:00
>>144>>145
大変ありがとうございました。
ここでさらに質問したいのですが
144さん
  10.fのfとはなんですか?
初心者過ぎてすみません

145さん
  (10-t) < epsiron
epsironとは?

150 :デフォルトの名無しさん:02/11/21 23:01
>>149
fはfloatであることを示す。つけないとdouble

151 :デフォルトの名無しさん:02/11/21 23:01
セーラームーン

152 :デフォルトの名無しさん:02/11/21 23:01
セーラーマーズ

153 :デフォルトの名無しさん:02/11/21 23:02
セーラーマーキュリー

154 :142:02/11/21 23:02
>>150さん
親切にありがとうございました


155 :デフォルトの名無しさん:02/11/21 23:02
セーラージュピター

156 :デフォルトの名無しさん:02/11/21 23:03
セーラームーン世代のオッサンが混じってるな.....

157 :デフォルトの名無しさん:02/11/21 23:03
コンパイラによる、、というのは正しいのでしょうか、間違ってるのでしょうか

158 :デフォルトの名無しさん:02/11/21 23:03
>>157
なにいってんだこいつ。

159 :デフォルトの名無しさん:02/11/21 23:04
セーラーヴィーナス

160 :デフォルトの名無しさん:02/11/21 23:04
>>157
正しくはライブラリの実装による

161 :デフォルトの名無しさん:02/11/21 23:04
>>158
アフォですか?

162 :デフォルトの名無しさん:02/11/21 23:04
セーラーネプチューン

163 :デフォルトの名無しさん:02/11/21 23:05
>>161
唐突にわけのわからんこと聞く>>157の方がアフォだと思うが。

164 :デフォルトの名無しさん:02/11/21 23:05
>>147
> 同じだけど

でたらめ言うなよ。

165 :デフォルトの名無しさん:02/11/21 23:05
セーラーウラヌス

166 :デフォルトの名無しさん:02/11/21 23:06
>>163
少し前の話題も覚えてないのかと.....

167 :デフォルトの名無しさん:02/11/21 23:06
セーラープルート

168 :デフォルトの名無しさん:02/11/21 23:06
>>166
つい先ほど来たばかりですが。

169 :142:02/11/21 23:06
すみません、もう一つだけ質問させてください
for(t=0.0; t<10.f; t+=0.1)

なぜt<10なのですか?

またt+=0.1ということはtは0.1秒ずつ増えていくということですか?
また単にtという変数を宣言してやるだけでいいのですか?


170 :デフォルトの名無しさん:02/11/21 23:06
セーラーちびムーン

171 :デフォルトの名無しさん:02/11/21 23:07
>>168
だったら余計にアフォだ
過去ログも読まずに脊髄反射レスするな。ヴォケが

172 :168:02/11/21 23:07
>>129
これか。


173 :168:02/11/21 23:08
へぇ、回答者まで過去ログ読まないといけないんだ。

174 :デフォルトの名無しさん:02/11/21 23:08
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対
単発質問断固反対

175 :デフォルトの名無しさん:02/11/21 23:08
>>173
(゚Д゚)ハァ?

176 :デフォルトの名無しさん:02/11/21 23:09
>>173
あたりまえだろ。アフォ?

177 :デフォルトの名無しさん:02/11/21 23:09
174が、自分がアフォぶある事をカミングアウトしました。

178 :デフォルトの名無しさん:02/11/21 23:09
>>174
じゃあどんな質問ならいいんだw

179 :デフォルトの名無しさん:02/11/21 23:10
>>169
for(t=0.0; t<10.f; t+=0.1)
は仮の話 t=0.0 のところには t の下限値、
10. には t の上限値を入れる

180 :173:02/11/21 23:10
つれまつた。

181 :142:02/11/21 23:11
>>179
親切にありがとうございました。

182 :デフォルトの名無しさん:02/11/21 23:11
>>175-176
過去ログ読まないタイプ

183 :179:02/11/21 23:12
>>181
どういたしまして。

184 :179:02/11/21 23:12
>>181
お礼は余計

185 :デフォルトの名無しさん:02/11/21 23:13
>>183
おい、偽物!!179はおれっだっちゅーの!

186 :デフォルトの名無しさん:02/11/21 23:13
>>182
過去ログ見て見ない振りするタイプ

187 :デフォルトの名無しさん:02/11/21 23:15
ここも FORTRAN を語るスレになりますた。


・・・0.1 を足し続けたら誤差が出るとオモタ

188 :デフォルトの名無しさん:02/11/21 23:15
typedef 過去ログ読まない 175, 176;
typedef 過去ログ見て見ない振りをする 182;

189 :142:02/11/21 23:15
>>185
ということは、私はお礼言ったのに煽られたんですか?

190 :デフォルトの名無しさん:02/11/21 23:16
>>189
早く寝ろ

191 :142:02/11/21 23:16
なんかむかつく・・・・
もうくるのやめよう。

192 :179:02/11/21 23:16
>>189
安心しろ。偽者は184=185だ。

193 :デフォルトの名無しさん:02/11/21 23:17
>>192
=は余計。

194 :142:02/11/21 23:17
>>189

偽者うざい

195 :デフォルトの名無しさん:02/11/21 23:18
>>191
だったら、「もう来ねぇよ ウワァァン」 の AA でも貼ったらどうだ?

196 :142:02/11/21 23:18
191おまえもうざい


197 :デフォルトの名無しさん:02/11/21 23:19
はらたいらさんがテレビに出てるんですが

198 :デフォルトの名無しさん:02/11/21 23:19
>>139
前スレは糞スレ

199 :JPS ◆M0LaMzf5rY :02/11/21 23:20
>>140
サンクス。その言葉の意味がよくわからんが・・・


200 :デフォルトの名無しさん:02/11/21 23:20
今度は142と142の偽者が荒らさーですか?

201 :デフォルトの名無しさん:02/11/21 23:20
>>197
      __________
      /              /|
    /              /  |
    | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
    |                    |  │
    |                    |  │
    |                    |  │
    |                    |  │
    |                    |  │
    |                    |  │
    |                    |  /
    |__________|/

202 :デフォルトの名無しさん:02/11/21 23:21
腹平?

203 :デフォルトの名無しさん:02/11/21 23:21
>>199
「その言葉」 がどの言葉かはっきり言えとあれほど・・・

204 :デフォルトの名無しさん:02/11/21 23:22
>>203
過去ログ嫁

205 :デフォルトの名無しさん:02/11/21 23:22
>>197
      __________
      /              /|
    /              /  |
    | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
    |                    |  │
    |                    |  │
    |                    |  │
    |      T   V         |  │
    |                    |  │
    |                    |  │
    |                    |  /
    |__________|/


206 :JPS ◆M0LaMzf5rY :02/11/21 23:24
>>203
自分で調べてみますた。
上位ビットと下位ビットをそれぞれよく使うってとこがわからんかった。
割り算だと上位ビットをよくつかう・・・

207 :デフォルトの名無しさん:02/11/21 23:27
JPS は何気にいい大学に入れそうな気がする

208 :デフォルトの名無しさん:02/11/21 23:27
>>206
n が 2 で割りきれる数だと、その傾向が顕著になる。
その理由を考えてみろ。

209 :デフォルトの名無しさん:02/11/21 23:28
2chにはまっているようじゃダメ

210 :デフォルトの名無しさん:02/11/21 23:28
まあ、ボケ具合はともかく、ある程度向上心やら探求心やらは持ち合わせているみたいだからな。

211 :デフォルトの名無しさん:02/11/21 23:29
というよりその程度でいい大学にいけるなんて評価高すぎ。

212 :デフォルトの名無しさん:02/11/21 23:30
大学に入るのに探求心が必要?

213 :デフォルトの名無しさん:02/11/21 23:30
なんだ大学生じゃないって分かるんだ?

214 :213:02/11/21 23:31
× なんだ
○ なんで

215 :213:02/11/21 23:32
みんな黙っちゃった。


216 :デフォルトの名無しさん:02/11/21 23:33
>>213
現在のやつの知的レベルを見れば分かるであろう

217 :JPS ◆M0LaMzf5rY :02/11/21 23:34
>>208
全くわからない・・・。ヒントください。

大学生ですが何か?

218 :デフォルトの名無しさん:02/11/21 23:35
>>大学生ですが何か?
ガ━━(゚Д゚;)━━ソ!

219 :デフォルトの名無しさん:02/11/21 23:35
>>216
現在のやつの知的レベルでいい大学には入れるのか?

220 :デフォルトの名無しさん:02/11/21 23:36
掲示板への書き込みだけで決めつけるな

221 :207:02/11/21 23:37
前言を禿しく撤回します

222 :デフォルトの名無しさん:02/11/21 23:41
やっぱ
一般人>>>>>>>>>マソコチソコ>JPS


223 :デフォルトの名無しさん:02/11/21 23:43
>>217
x のビット値が 1111111100000000 の時、x % n と x / n の結果がそれぞれ
どうなるか考えればいい。
それが 「より多くの下位ビットを拾う % よりも、より多くの上位ビットを拾う」
の意味。

224 :manko_chinko ◆GLc2rpKRNM :02/11/21 23:44
>>222
僕のIQはそんなに低くないですよ。130ぐらいでしたし。
まぁ、IQだけで人の価値は決まりませんしね。
僕はEQ(心の知能指数)のほうが大切だと思いますが。


225 :デフォルトの名無しさん:02/11/21 23:44
知的レベルって、ここ見てる限りみんなも大した事なさそうだけどな(藁

226 :JPS ◆M0LaMzf5rY :02/11/21 23:44
あ。言い換えるとさ、上位ビットの方が周期が長いってこと?


227 :デフォルトの名無しさん:02/11/21 23:46
>>224
分かったから
そ ろ そ ろ 勉 強 し ろ よ ?

228 :デフォルトの名無しさん:02/11/21 23:47
>>225
いや、君は違うよ。君はとても知的レベルが高いと思う。

229 :デフォルトの名無しさん:02/11/21 23:49
Cやってる奴は概してIQも学歴も低いよ

230 :デフォルトの名無しさん:02/11/21 23:50
>>229
その通り。高卒はCばっかりやっている。

231 :デフォルトの名無しさん:02/11/21 23:50
>>229
おまえだけ

232 :229:02/11/21 23:53
>>231
俺はCやってないからIQも学歴も高いよ。

233 :デフォルトの名無しさん:02/11/21 23:54
>>232
寝言なら板違いだぞ

234 :デフォルトの名無しさん:02/11/21 23:56
ぼくちんはまだAもしたことありません。

235 :JPS ◆M0LaMzf5rY :02/11/21 23:57
>>223
やってみますた。
65280(10)だったから、例えばn=12だと
65280 / 12 = 5440
65280 % 12 = 0
だから
0001010101000000と
0000000000000000になりますた。
つまり下位ビットは、nを多く含んでる?
えーと、わかんない・・・

236 :デフォルトの名無しさん:02/11/21 23:59
だれかJPSに参考リンクでも紹介して黙らせろよ。

237 :JPS ◆M0LaMzf5rY :02/11/22 00:00
下位ビットで10進でも下の桁を表してるんだよね?
ってことは、あまりを求めるときは、下位ビットの値が出るってことか?
割り算だと出るのは商だから、ビットがどうとか関係ない?


238 :デフォルトの名無しさん:02/11/22 00:00
>>236
お前がやれや

239 :デフォルトの名無しさん:02/11/22 00:01
>>235
何かがおかしいと気づかないか?
mod12と比較するなら12/RAND_MAXを掛ける必要があるぞ

240 :デフォルトの名無しさん:02/11/22 00:03
>>239
なにいってんですか?

241 :JPS ◆M0LaMzf5rY :02/11/22 00:04
>>239
RAND_MAXてなに?

242 :デフォルトの名無しさん:02/11/22 00:04
>>239
今は誰も乱数の話などしていない

243 :デフォルトの名無しさん:02/11/22 00:05
ム板にはトリップいらないだろと思う今日この頃。

244 :デフォルトの名無しさん:02/11/22 00:05
>>241
とにかく下位ビットは偏りが大きいんだよ!それでいいだろ?兄弟

245 :デフォルトの名無しさん:02/11/22 00:07
誰も(俺も)ちゃんとした説明が出来ないことが明らかになりました。

246 :デフォルトの名無しさん:02/11/22 00:09
多分実装上の問題だよ
最近の実装なら関係ないらしい
The versions of rand() and srand() in the Linux C Library
use the same random number generator as random() and sran-
dom(), so the lower-order bits should be as random as the
higher-order bits. However, on older rand() implementa-
tions, the lower-order bits are much less random than the
higher-order bits.


247 :デフォルトの名無しさん:02/11/22 00:18
「最近の実装」 と称して Linux C Library を持ち出すのは止めろ。

248 :デフォルトの名無しさん:02/11/22 00:18
何故皆黙りこくってしまったかな?

249 :デフォルトの名無しさん:02/11/22 00:19
>>247
はいはい。オサーンは師んでね☆

250 :デフォルトの名無しさん:02/11/22 00:24
つまり「最近の」ライブラリ使ってりゃ rand()%10+1 でもモウマンタイってこった

251 :デフォルトの名無しさん:02/11/22 00:26
>>249
アフォですか?
特定の処理系を確認しただけで 「最近の実装なら」 と言い出すのは阿呆のすることだ
と言っている。
あと、漏れをオサーンと言うなら根拠を示せ。

>>250
ああ、「最近の Linux C Library」 を使っていればな。

252 :デフォルトの名無しさん:02/11/22 00:30
>>251
(゚Д゚)ハァ?根拠示すべきなのはお前の方だろ?
「最近の」実装で下位ビットに偏りが出るってのを探してこいや。ハゲ

253 :デフォルトの名無しさん:02/11/22 00:31
>>252
ハゲであるという根拠も。

254 :デフォルトの名無しさん:02/11/22 00:32
>>252
何を言っている?
「最近の実装なら」 を証明する義務があるのは、それを言い出したあんたの方だろう?

255 :デフォルトの名無しさん:02/11/22 00:35
問1
最近の実装で線形合同法が使われて居ない事を証明せよ

ってところか

256 :デフォルトの名無しさん:02/11/22 00:35
>>254
おれはこの世にある全ての実装そ調べなければならない
お前はたった一つ反例を出せばいい
お前がさっさと探してくりゃ済む話だろーが。ヴォケ

257 :デフォルトの名無しさん:02/11/22 00:37
>>256
ハゲだとかヴォケだとか・・・あんたは余計なものをつけたがるね。

258 :デフォルトの名無しさん:02/11/22 00:38
> おれはこの世にある全ての実装そ調べなければならない
当たり前じゃん。

259 :デフォルトの名無しさん:02/11/22 00:40
>>258
はぁ?反論できないんだったら、あーそうですかと聞き流しときゃいーだろーが
反論したけりゃ反例持ってこい。アフォが

260 :デフォルトの名無しさん:02/11/22 00:41
>>256
「最近の実装なら」 と言い切るなら、普通すべてのコンパイラを調べなきゃ
いけないはずなんだが、思考回路は大丈夫だろうか。
まあ、たった一つ反例を出せば満足と言うなら出そう。
VisualC++。

261 :デフォルトの名無しさん:02/11/22 00:41
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%C8%BF%CE%E3&sw=2

262 :デフォルトの名無しさん:02/11/22 00:42
VC++は時代遅れ





















とか言い出すんだろうか

263 :デフォルトの名無しさん:02/11/22 00:43
>>259
VC++は時代遅れだろヴォケ
どこが最近の実装だ。

264 :JPS ◆M0LaMzf5rY :02/11/22 00:43
>>260
オレも色々調べたらVC++は偏りがあること判明しますた。

265 :263:02/11/22 00:43
レス先間違った
>>260

266 :デフォルトの名無しさん:02/11/22 00:44
>>260
コンパイラ?思考回路大丈夫か?(w
根拠示せってーの。何がVisualC++だ?知るかハグェウンコ

267 :デフォルトの名無しさん:02/11/22 00:44
>>263
じゃあ最近の実装ってなんでつか?

268 :デフォルトの名無しさん:02/11/22 00:44
VC.NET は最近の実装じゃないのか・・・。
263 が一体どの程度のスパンを求めているのかわからないな。

269 :デフォルトの名無しさん:02/11/22 00:46
>>261 ワラタ

270 :263:02/11/22 00:46
>>267-268
しらねーよ馬鹿
はいはい。俺の負けだよ。
これで気が済んだか?

271 :デフォルトの名無しさん:02/11/22 00:47
>>264
具体的にどんな偏りかをしめしなよ、実は調べていないのに口だけとしか見えないよ

272 :デフォルトの名無しさん:02/11/22 00:47
>>268
263はネタと思われ。

273 :デフォルトの名無しさん:02/11/22 00:45
>>263
bcc 5.6

274 :263:02/11/22 00:47
>>272
ちっ・・・
>>259がむかつくから>>259のふりをしたつもりだが・・・ばればれか。

275 :デフォルトの名無しさん:02/11/22 00:48
何かエセ釣り師がイパーイいるなw

276 :デフォルトの名無しさん:02/11/22 00:48
こんな明らかな偽物に騙されるとは
とんだハゲオタぞろいだな(W
師ねよ

277 :デフォルトの名無しさん:02/11/22 00:49
乱数もまともに生成できないCってほんと糞言語なのな

278 :デフォルトの名無しさん:02/11/22 00:49
疑似でない乱数を生成しちゃう言語ってなんですか?

279 :デフォルトの名無しさん:02/11/22 00:50
Cのせいにするなよ。

280 :デフォルトの名無しさん:02/11/22 00:50
>>277
乱数もまともに生成できないCの実装が糞実装なだけです。
Perl とかでも同じ状況だと思うけどなぁ。

281 :デフォルトの名無しさん:02/11/22 00:50
>>277
標準でまともな乱数を生成してくれる言語があったら教えてください。


つーか、「まともな乱数」 なんて重たい物は使いたくないが。

282 :JPS ◆M0LaMzf5rY :02/11/22 00:51
>>271
こちらでつ。
http://www.chichibu.ne.jp/~kawahira/diary/d200202.htm
2/23のところ。

283 :デフォルトの名無しさん:02/11/22 00:53
きちんと規格でrandの実装方法を規定すればよかったのにな!

284 :デフォルトの名無しさん:02/11/22 00:53
>>282
VC++のバージョンが書いてないな。

285 :デフォルトの名無しさん:02/11/22 00:53
>>281
すみませんがまともな乱数の定義をまずおしえてください。

286 :デフォルトの名無しさん:02/11/22 00:54
>>271
保存しておいたシード値に、定数 A を掛け、定数 B を足している。
漏れは何でそうかは知らないが、この方法が下位ビットに偏りを産む事が
知られている。

287 :デフォルトの名無しさん:02/11/22 00:55
文字列リテラルの型は一体何なのでしょうか。

void func(const char *s); があって、
func("abc"); として呼び出すと、「問題のあるポインタの変換」という
警告が出ます。

どのようにキャストしても警告が消えないのです。
アドバイスをお願いしますm(_ _)m

288 :デフォルトの名無しさん:02/11/22 00:55
>>285
周期関数に拠らない乱数列。

289 :デフォルトの名無しさん:02/11/22 00:56
一様な乱数の生成方法も知らないのかよ
ほんとお前らアフォだな

int rand(void)
{
 static int r;
 reutrn r++;
}

290 :デフォルトの名無しさん:02/11/22 00:56
>>287
const char *にはconst char *もchar *も問題なく入れられるだろ?


291 :デフォルトの名無しさん:02/11/22 00:55
>>287
んなこたぁーない

292 :JPS ◆M0LaMzf5rY :02/11/22 00:57
>>285
疑似乱数じゃない!

293 :デフォルトの名無しさん:02/11/22 00:59
>>289
それは数の分布が一様になるが、数の出現規則が存在するので乱数ではない

>>292
それはプログラムで生成することは不可能ですが何か?


294 :JPS ◆M0LaMzf5rY :02/11/22 00:59
文字列リテラルの型はconst char *でつか?

295 :デフォルトの名無しさん:02/11/22 01:00
>>293
人工知能で(^o^*)

296 :JPS ◆M0LaMzf5rY :02/11/22 01:01
>>293
srand ( ( unsigned ) time ( NULL ) );

i = rand ( ) % 10;
は?

297 :デフォルトの名無しさん:02/11/22 01:01
>>287
文字列リテラルは char[n] 型。

298 :デフォルトの名無しさん:02/11/22 01:01
>>294
ふつうはchar *だと思うけど・・・
書き換えようとしても文句言わないし。

299 :デフォルトの名無しさん:02/11/22 01:01
>>294
const char [N]

300 :デフォルトの名無しさん:02/11/22 01:02
>>291>>294>>297
ありがとうございます。どうも私の勘違いだったようです。
うまく警告が消えました。他のパラメタを渡していて、それが
おかしかったようです。

301 :デフォルトの名無しさん:02/11/22 01:02
>>296
その式が 1 秒以内に複数回評価されたら全く同じ結果になるだろ。

302 :290:02/11/22 01:03
無視されました。

303 :デフォルトの名無しさん:02/11/22 01:03
>>296
激しく疑似乱数

304 :デフォルトの名無しさん:02/11/22 01:05
文字列リテラルが const かどうかは処理系依存だった気がする。

305 :デフォルトの名無しさん:02/11/22 01:07
>>304
その話は終わった。帰っていいよ。

306 :デフォルトの名無しさん:02/11/22 01:09
>>305
お先に失礼します。

307 :デフォルトの名無しさん:02/11/22 01:11
>>306
お疲れさま

308 :JPS ◆M0LaMzf5rY :02/11/22 01:12
うぅ。でもたしかさ、πみたいな数っていっぱいあるんでなかった?
まあそれは使えないけど。なんつったけ・・・


309 :デフォルトの名無しさん:02/11/22 01:13
>>308
何の話デスカ?

310 :デフォルトの名無しさん:02/11/22 01:13
>>308
πみたいな数ってのは無理数か?

311 :JPS ◆M0LaMzf5rY :02/11/22 01:16
>>310
そうですた。無理数ってめちゃめちゃ多いのに、
あ、でも無理数の中でも、繰り返すのがあんじゃん!
名前忘れた・・・。要するに自然界にはすごい乱数がイパーイてことですた。

312 :JPS ◆M0LaMzf5rY :02/11/22 01:18
>>304
まじで!?オレは文字列リテラルは書き換えちゃだめ
って覚えちゃった。

313 :デフォルトの名無しさん:02/11/22 01:20
>>311
繰り返すのは無理数じゃない。

314 :デフォルトの名無しさん:02/11/22 01:21
>>311
あんたホントに大学生?経歴詐称してないか?

315 :デフォルトの名無しさん:02/11/22 01:22
循環小数は有理数デス・・・・・・・

316 :デフォルトの名無しさん:02/11/22 01:22
ちなみに、VC6 はデフォルトで堂々と逝ける。 < 文字列リテラル書き換え

317 :デフォルトの名無しさん:02/11/22 01:25
287です。
>>290さん、無視したわけじゃないです(汗。見落としてました。
現在は警告もなく無事コンパイルできて動いています。

318 :デフォルトの名無しさん:02/11/22 01:26
むりぽ数ってなんですか?

319 :デフォルトの名無しさん:02/11/22 01:26
Borland-C++で同一文字列のマージというオプションをONにすると、

char *p = "abcdef";
char *q = "abcdef";

というのがあったとして、*pを書き換えると*qも変わってしまいます。

320 :デフォルトの名無しさん:02/11/22 01:27
無理っぽい数です。

321 :デフォルトの名無しさん:02/11/22 01:27
>>319
ネタですか?

322 :デフォルトの名無しさん:02/11/22 01:28
>>318
無理数
http://www.meix-net.or.jp/~aotsuka/DIC/murisuu/d.html

323 :デフォルトの名無しさん:02/11/22 01:28
>>315,313
おれは311ではないが、繰り替えすの意味があいまいなんだよ
たとえば
0.101100111000... 以降繰り返し幅が繰り返すごとに1づつ増える繰り返し
なんてものが作れる。

324 :デフォルトの名無しさん:02/11/22 01:30
>>321
-dオプションというのがあるの!!

325 :JPS ◆M0LaMzf5rY :02/11/22 01:32
>>232
ごめん。循環小数は有理数だね。
無理数ってあらわせない数だっけ?
0.313...とかなんとか、循環小数を表す記号があったような・・・

326 :デフォルトの名無しさん:02/11/22 01:32
>>323
それは(曖昧さをなくすならば、周期的でないものは、とでも言おうか)
普通繰り返しと言わないと思う。

327 :デフォルトの名無しさん:02/11/22 01:33
>>324
そのオプションの意味わかってる?

328 :デフォルトの名無しさん:02/11/22 01:34
>>325
ポインタ変なとこ指してるし.....
ドット `.' だね>>循環小数を表す記号
うーん大学生なのか.......

329 :デフォルトの名無しさん:02/11/22 01:34
#include <stdio.h>

int main()
{
char *p = "abcdef";
char *q = "abcdef";

printf("%p %p\n", p, q);
return 0;
}

-d-オプション時
0040B0A4 0040B0AB

-dオプション時
0040B0A4 0040B0A4

330 :デフォルトの名無しさん:02/11/22 01:35
319のように本人がマジなものをマジネタ、そうでないものをネタネタと呼ぼう。

331 :デフォルトの名無しさん:02/11/22 01:35
/dev/randomを使う

332 :デフォルトの名無しさん:02/11/22 01:36
>>331
ふむ.....これが噂に聞くマジネタというやつか....

333 :デフォルトの名無しさん:02/11/22 01:39
「同一文字列のマージ」 の意味をわかっていれば 329 には納得できるはずなのだが。

334 :記者A:02/11/22 01:40
すいませーん!
ここがネタの宝庫だと同僚に聞いて、やってきたんですが。

335 :デフォルトの名無しさん:02/11/22 01:44
#include <stdio.h>

int main()
{
char *p = "abcdef";
char *q = "abcdef";

*p = 'X';
puts(q);
return 0;
}

-dオプション時
Xbcdef

うーんおもしろい。

336 :デフォルトの名無しさん:02/11/22 01:45
gcc だとセグフォになる

337 :デフォルトの名無しさん:02/11/22 01:45
*p = 'X';っていいのか?

338 :デフォルトの名無しさん:02/11/22 01:46
>>337
だから処理系依存だってば。

339 :デフォルトの名無しさん:02/11/22 01:46
ANSI規格では、文字列リテラルを書き換えた場合の振る舞いは不定と
なっているね。

340 :デフォルトの名無しさん:02/11/22 01:47
文字列リテラルの書き換えは糞、ということでよろしいか?

341 :デフォルトの名無しさん:02/11/22 01:48
よろしい

342 :デフォルトの名無しさん:02/11/22 01:53
どっちかと言うとネタネタよりマジネタの方がおもろいよな

343 :デフォルトの名無しさん:02/11/22 01:56
果たしてそうかな?

344 :デフォルトの名無しさん:02/11/22 01:56
>>339
ん?未定義だろ?

345 :デフォルトの名無しさん:02/11/22 01:57
規格を語る時、とりあえず不定という言い方はよせ。

346 :デフォルトの名無しさん:02/11/22 01:58
お前等悪徳政治家みたいだな。なんか言われたら
処理系依存です。環境依存です。ってのらりくらりとかわす所が。

347 :デフォルトの名無しさん:02/11/22 01:59
>>346
頭悪いですね。相当

348 :デフォルトの名無しさん:02/11/22 02:01
>>345
なんで?

349 :デフォルトの名無しさん:02/11/22 02:01
>>339
ん?鼻から悪魔を召還呪文だろ?

350 :デフォルトの名無しさん:02/11/22 02:07
>>348
規格では不定という言葉を使っていないから。

351 :デフォルトの名無しさん:02/11/22 02:09
規格は英語です。

352 :デフォルトの名無しさん:02/11/22 02:10
>>350
(゚Д゚)ハァ?

353 :デフォルトの名無しさん:02/11/22 02:10
>>351
訳したら不定
unspecified
un・spec・i・fied /nspsfd←/

特に指示してない,明示してない,不特定の

354 :デフォルトの名無しさん:02/11/22 02:12
>>346
大事な事だから、しょうがない。
それに気づかないお前を晒しage

355 :デフォルトの名無しさん:02/11/22 02:13
無指定と不定って微妙に違くないか?

356 :デフォルトの名無しさん:02/11/22 02:13
未定義と不定の区別もつかないヤシがいたとは......

357 :デフォルトの名無しさん:02/11/22 02:14
unspecifiedはJISでは「未指定」だったと思うが…

358 :デフォルトの名無しさん:02/11/22 02:15
>>355
それは無と不の違いだな?
無ってのは「なし」って事だ
不ってのは「〜ない」って事だ。
指定なし、と指定がないは一緒ですが何か?

359 :357:02/11/22 02:16
しつれい。
未指定じゃなくて「未規定」か。
http://www.bohyoh.com/CandCPP/C/word.html

360 :デフォルトの名無しさん:02/11/22 02:16
北野 欽一は不定っていってる
まあたいしたかわんねーよ
未指定なんていったらばかにされそうだ

361 :デフォルトの名無しさん:02/11/22 02:17
ISO規格に出てくる言葉で不定に一番近いのは
indeterminateだと思うがどうだろう?

362 :デフォルトの名無しさん:02/11/22 02:20
in・de・ter・mi・nate /ndtmnt|‐t‐←/



1 不確定の,不定の.

2 明確でない,漠然とした,あいまいな.→

3 未解決の,未定の.

キタ━(・∀・)━!

363 :デフォルトの名無しさん:02/11/22 02:22
で?
文字列リテラルの書き換えは
未定義
未規定
不定
どれなんだ?

364 :デフォルトの名無しさん:02/11/22 02:24
JIS規格は日本語だよ。
で、不定という言葉は使ってない。


365 :デフォルトの名無しさん:02/11/22 02:25
未定義ですた。

366 :デフォルトの名無しさん:02/11/22 02:26
>>364
JISで不定ってないの?

367 :デフォルトの名無しさん:02/11/22 02:26
>>363
実装依存です、¥。

368 :デフォルトの名無しさん:02/11/22 02:27
だれもJIS規格なんて見てないからちゃんとした答えが出ない。

369 :デフォルトの名無しさん:02/11/22 02:28
板違いだからC板逝ってくれ。

370 :デフォルトの名無しさん:02/11/22 02:29
ちょっとの間馬鹿は黙っててくれ

371 :デフォルトの名無しさん:02/11/22 02:30
ちょっとの間黙りましたが何か

372 :デフォルトの名無しさん:02/11/22 02:30
>>367
実装依存なんて言葉は規格に無い。
文字列リテラルの書き換えは未定義動作。(C99 6.4.5)

373 :デフォルトの名無しさん:02/11/22 02:31
>>371
お前は馬鹿ってこった

374 :デフォルトの名無しさん:02/11/22 02:35
まさか用語論争まであるとは思わなかった・・・

375 :デフォルトの名無しさん:02/11/22 02:36
日本語も出来ないやつにC言語を扱う資格無し!!

376 :デフォルトの名無しさん:02/11/22 02:38
規格でどういう用語で表されるか知っているのと日本語が出来る出来ないは関係ない。

377 :デフォルトの名無しさん:02/11/22 02:38
ちょっと前にC99の規格の日本語PDFの話が出てからというもの、
C99規格ヲタが増えた気がするのは俺だけか?

378 :デフォルトの名無しさん:02/11/22 02:39
>>377
出たの?それってどっかに落ちてる?

379 :デフォルトの名無しさん:02/11/22 02:40
実装依存なのは、文字列リテラルが書き込み禁止領域にかかれるかどうか。
文字列リテラルを書き換えるのは未定義。
これでいいだろ。

380 :デフォルトの名無しさん:02/11/22 02:42
同意?

381 :デフォルトの名無しさん:02/11/22 02:43
↓ 規格ヲタさん文章の校正をお願いします。

382 :デフォルトの名無しさん:02/11/22 02:44
>>文字列リテラルを書き換えるのは未定義。
まず日本語としておかしくないか?

383 :デフォルトの名無しさん:02/11/22 02:44
ま、まあいいんでないか?
ていうか文字列リテラルを書き換えるのは厨房がする事だと思われ

384 :デフォルトの名無しさん:02/11/22 02:45
>>382
そんなつっこみいらねーんだよぼけ
おまえは理解力ってのがねーのか
チョソでつか?

385 :デフォルトの名無しさん:02/11/22 02:45
>>383
そういや書き換えて楽しんでるやつらがいたな〜

386 :デフォルトの名無しさん:02/11/22 02:46
1回まとめときましょう。

・未規定の動作 (unspecified behavior)
 規格が複数の動作の可能性を示し、どちらであるべきか何も要求しない動作。
 例)関数呼び出しの引数の評価順序。
・処理系定義の動作 (implementation-defined behavior)
 未規定の動作のうち、どの選択肢を選んだか処理系が文書化しなければならないもの。
 例)符号付き整数を右シフトしたとき、最上位ビットがどうなるか。
・未定義の動作 (undefined behavior)
 可搬性の無いまたは誤ったプログラム構文ないしは
 誤ったデータまたは不定値のオブジェクトを使った動作。
 結果について、規格では何も規定しない。
 例)整数のあふれ


387 :デフォルトの名無しさん:02/11/22 02:47
>>378
ごめん、勘違いだ。英語版だった。

388 :デフォルトの名無しさん:02/11/22 02:48
>>384
はぁ?チョソはおまえだろがぼけなす

389 :デフォルトの名無しさん:02/11/22 02:54
もう飽きたから寝ます。
明日の昼までに決着つけてね。

−−−−−−−−−−−−−−−−−−−−−−−−−−
俺様用しおり
∧_∧
( ・∀・)< 今日はここまで読んだ。
−−−−−−−−−−−−−−−−−−−−−−−−−−


390 :デフォルトの名無しさん:02/11/22 02:56
もう決着ついたじゃん

391 :デフォルトの名無しさん:02/11/22 03:00
明日の昼といえば約35時間後か

392 :デフォルトの名無しさん:02/11/22 03:06
>>391
激しくロケールに依存。

393 :デフォルトの名無しさん:02/11/22 03:08
>>392
ロカールな。

394 :デフォルトの名無しさん:02/11/22 04:23
>>393
口−力ノレだろ。

395 :デフォルトの名無しさん:02/11/22 06:40
こっちがアレの方だったのか!!マルチ失礼します。

ソースコードよんでたらexit(98);とかありました。exit(-1)とかならよく観るんですが、98は知りません。
この引数の意味がわからないです。おしえてください。

396 :デフォルトの名無しさん:02/11/22 06:51
独自に日本語化した団体もあるけど実際に表には出てないな。< c99規格書

397 :デフォルトの名無しさん:02/11/22 06:51
独自に日本語化した団体もあるけど実際に表には出てないな。< c99規格書


398 :デフォルトの名無しさん:02/11/22 06:52
exit(status)はプログラムを終了させてstatus&0377と言う値を親プロセスに返す。


399 :デフォルトの名無しさん:02/11/22 06:53
2重カキコスマソ。


400 :デフォルトの名無しさん:02/11/22 06:57
二重カキコした397。あやまれ

401 :デフォルトの名無しさん:02/11/22 07:35
文字列リテラルはもはや書き換え可能ではない(K&Rより)と言いながら、constにしないのは古いソースと互換性を持たせるため?

402 :デフォルトの名無しさん:02/11/22 09:11
俺様用しおりってさ皆同じしおり使ったら誰が誰のか分からなくなるんぢゃない?

403 :デフォルトの名無しさん:02/11/22 09:15
俺の詩織は他の奴には使わせん。

404 :デフォルトの名無しさん:02/11/22 10:36
Cスレはマ板に引越ししる!

405 :デフォルトの名無しさん:02/11/22 10:59
>>403
すまん、この間ちょっと使わせてもらった

406 :デフォルトの名無しさん:02/11/22 11:29
>>403
お世話になりました

407 :デフォルトの名無しさん:02/11/22 11:34
>>403
ああ、俺もよく使ったよ。もう厭きたから君に返すよ

408 :デフォルトの名無しさん:02/11/22 13:27
exit(-1)ねえ。びみょーだなあ。

exitの引数としてC言語的には
0およびEXIT_SUCCESS … 「正常終了」を表す処理系定義のステータスがホスト環境に返る。
EXIT_FAILURE … 「異常終了」以下同文
そのほかの引数 … 処理系定義の動作
とあるだけだから。

POSIX的には>>398のとおり。呼び出したプロセスには255が返る。

exit(98)がどういう意味かなんてのは、そのプログラムのドキュメント
に書いてないの? たとえばgrepやqmail-localなんてのは、いろんな
終了の仕方をexitステータスで通知するけど。

409 :デフォルトの名無しさん:02/11/22 13:45
>>401
だろうね。
char *p = "string";
でいちいち警告が出たらうるさいよね。


410 :デフォルトの名無しさん:02/11/22 15:27
>>409
最近のC++コンパイラはそれで警告が出るのでウザい。
だが、そのおかげて数カ所バグを見つけてしまったので、
const char *p = "string"; として、警告が出ないようにしてる。

411 :デフォルトの名無しさん:02/11/22 16:19
−−−−−−−−−−−−−−−−−−−−−−−−−−
俺様用しおり
∧_∧
( ・∀・)< 今日はここまで読んだ。 ID:0001392
−−−−−−−−−−−−−−−−−−−−−−−−−−

412 :デフォルトの名無しさん:02/11/22 16:35
−−−−−−−−−−−−−−−
俺様用さおり
     _,.'⌒
    '´   ヽ  
    ! 〈ノ )))) 
   ノ! l.゚ ヮ^人 < ここまで〜
 (´ノ⊂)H!つヽ  
−−−−−−−−−−−−−−−

413 :デフォルトの名無しさん:02/11/22 18:40
−−−−−−−−−−−−−−−
俺様用かおり
     _,.'⌒
    '´   ヽ  
    ! 〈ノ )))) 
   ノ! l.゚ ヮ^人 < ここまで〜
 (´ノ⊂)H!つヽ  
−−−−−−−−−−−−−−−

414 :デフォルトの名無しさん:02/11/22 18:45
−−−−−−−−−−−−−−−−−−−−−−−−−−
俺様用しおり
∧_∧
( ・∀・)< 今日はここまで読んだ。 ID:0001392
−−−−−−−−−−−−−−−−−−−−−−−−−−

415 :デフォルトの名無しさん:02/11/22 19:02
#ifdef __俺様__

  俺様だけのしおり。今日はココから

#else
  *"hoge" = 0;
#endif

416 :デフォルトの名無しさん:02/11/22 19:08
みんなの環境では、これの結果は何になる?
printf("%d %d\n", sizeof("12"), sizeof("1234"));

417 :デフォルトの名無しさん:02/11/22 19:14
>>416
試すまでもなく
3 5

418 :デフォルトの名無しさん:02/11/22 19:15
>>416
3 5
ですが何か?

419 :デフォルトの名無しさん:02/11/22 19:17
−−−−−−−−−−−−−−−−−−−−−−−−−−
俺様用しおり
∧_∧
( ・∀・)< 今日はここまで読んだ。 ID:0001392
−−−−−−−−−−−−−−−−−−−−−−−−−−

420 :デフォルトの名無しさん:02/11/22 19:18
初期化されていない自動変数の読み出しが未定義
ってことは、何か。

  char s[20]; *s = '\0';

とした後で、
s[0]以外を読んだらアウトなのか。memcpyもアウトか。

糞め。

421 :デフォルトの名無しさん:02/11/22 19:22
>>420
糞はおまえだ。タコ

422 :デフォルトの名無しさん:02/11/22 19:23
>>421
タコはおまえだ。糞め

423 :デフォルトの名無しさん:02/11/22 19:34
>>420
*s = '\0'; は初期化じゃないから安心しろ。

424 :デフォルトの名無しさん:02/11/22 19:45
>>423
はあ?何の関係があんの?

425 :デフォルトの名無しさん:02/11/22 19:47
>>420
アウトではありません未定義です。

氏んでね♥

426 :デフォルトの名無しさん:02/11/22 19:58
>>425
out → 不適当な、間違っている、etc...

英単語くらい覚えて氏ね♥

427 :デフォルトの名無しさん:02/11/22 20:06
−−−−−−−−−−−−−−−−−−−−−−−−−−
俺様用しおり
∧_∧
( ・∀・)< 今日はここまで読んだ。 ID:0001392
−−−−−−−−−−−−−−−−−−−−−−−−−−

428 :デフォルトの名無しさん:02/11/22 20:10
とりあえず &hearts; 付けてる香具師は市ね

429 :デフォルトの名無しさん:02/11/22 20:14
♥ってこうやるのかな?

430 :デフォルトの名無しさん:02/11/22 20:37
つまんねーな
JPS早く来ないかな

431 :デフォルトの名無しさん:02/11/22 21:23
皆のcプログラマ歴は?
おいら3年半位:まともに書いたコード数2万行位


432 :デフォルトの名無しさん:02/11/22 21:34
3年もやっておいて未だに行数なんか気にしてんのかよ(プ

433 :デフォルトの名無しさん:02/11/22 21:50
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
俺様用しおり
∧_∧
( ・∀・)< 今日はここまで読んだ。 ID:0001392
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

434 :デフォルトの名無しさん:02/11/22 23:05
JPSさん♣&diads;ご降臨ください!

435 :デフォルトの名無しさん:02/11/22 23:06
♠♦


436 :デフォルトの名無しさん:02/11/22 23:13
>>426
(゚Д゚)ハァ?間違ってねえよ。未定義なだけ。
あと勝手に「不適当な」なんて訳考えて逃げうつなや。ハゲが。
500回氏ね。
http://eiwa.excite.co.jp/view.jsp?block=40718&offset=1020&id=NEW_EJJE
http://dictionary.goo.ne.jp/cgi-bin/ej-more_print.cgi?MT=out&ID=EJ-218580.txt&sw=0
http://dic.lycos.co.jp/pej/result.html?query=out&id=o-001399&first=41&encoding=shift-jis

437 :デフォルトの名無しさん:02/11/22 23:33
糞PGに限ってプログラム歴を気にするヤシが多いよな

438 :デフォルトの名無しさん:02/11/23 00:02
C言語ってうんこするの?

439 :デフォルトの名無しさん:02/11/23 00:07
歴はマ板行けよな。

440 :デフォルトの名無しさん:02/11/23 10:36
>>436
> (゚Д゚)ハァ?間違ってねえよ。未定義なだけ。
ひょっとしてお前の頭は「間違い=文法エラー」のレベルですか?

> あと勝手に「不適当な」なんて訳考えて逃げうつなや。ハゲが。
ぎゃはは。自分が参照できる数少ない辞書に載ってなかったら
「勝手に」になるのか。すごいなお前。

真性厨房決定。

441 :デフォルトの名無しさん:02/11/23 10:40
>>436 , 440
どっかいけよ。


442 :デフォルトの名無しさん:02/11/23 10:45
C の文法語るときの“未定義”という単語自身は Well defined ですが
“アウト”はそうではないですね。

443 :デフォルトの名無しさん:02/11/23 11:38
ansi.sysの前にコンパイラが駄目でした

444 :デフォルトの名無しさん:02/11/23 22:34
int array[10];
int i;
for(i=0;i<10;++i){
    array[i] = i;
}
で数字を並べただけの配列arrayを ランダムに ソートできませんか?

結果として
array[0]=7
array[1]=3
array[2]=5
    :
array[8]=8
array[9]=2
のようにする。

445 :デフォルトの名無しさん:02/11/23 22:35
質問age。

#このすれって実質<45>だよね?

446 :デフォルトの名無しさん:02/11/23 22:38
前スレのこっているけどな。

447 :デフォルトの名無しさん:02/11/23 22:43
http://www.catnet.ne.jp/kouno/c_faq/c11.html#33

極端な話、未定義の処理をやってみて
ノドンが飛んできても処理系の責任には
できないわけやな


448 :デフォルトの名無しさん:02/11/23 22:48
極東の話、未定義の処理をやってみて
テポドンが飛んできてもチョソ系の責任には
できないわけやな

449 :デフォルトの名無しさん:02/11/23 22:51
はい質問!
>>444
> ランダムに ソートできませんか?
できるんですか?

450 :デフォルトの名無しさん:02/11/23 22:51
ノドンやテポドンが飛んできそうなコードを書いたら警告してくれる処理系が良い。

451 :デフォルトの名無しさん:02/11/23 22:55
>int array[10];
>>>int i,j,k;
>for(i=0;i<10;++i){
> array[i] = i;
>}
randomize();
for(k=0; k<20; k++){//<-20は任意
    i=random(10);
    j=random(10);
    int tmp=array[i];
    array[i]=array[j];
    array[j]=tmp;
}

452 :デフォルトの名無しさん:02/11/23 23:07
>>451
randomize() ってなに?
標準ライブラリに入ってる?

453 :manko_chinko ◆GLc2rpKRNM :02/11/23 23:10
こんなんじゃないの
#define randomize() srand((unsigned)time(NULL))

454 :デフォルトの名無しさん:02/11/23 23:14
万小チンコ ウザイ

455 :デフォルトの名無しさん:02/11/23 23:14
time_t t;
srand((unsigned) time(&t));

456 :デフォルトの名無しさん:02/11/23 23:25
出来ました?

457 :ム板ではキリ番でない444:02/11/23 23:28
>>451
Thax.
でもarrayの中身をぶち込んだ跡で
混ぜたいのです。
何度か混ぜる処理を途中に挟むので。

# マンチン@GLc2rpKRNMタン 出現あたりから
# ほぼ同時にPGはじめたのに結構佐賀で棚…
# 速度の違いなのか?チョト鬱w

458 :デフォルトの名無しさん:02/11/23 23:34
>>457
> でもarrayの中身をぶち込んだ跡で
> 混ぜたいのです。

>>451 は俺には、
 “中身の入った配列から、ランダムに決めた i 番目と j 番目の要素を
  20回入れ替える”
コードに見えるんだが…
(でも相変わらずランダムに“ソート”は出来ていない)

459 :デフォルトの名無しさん:02/11/23 23:36
ランダムに並び替えできてんじゃないの?

460 :デフォルトの名無しさん:02/11/23 23:50
シャッフルの事をソートと呼ぶなよ・・・

461 :デフォルトの名無しさん:02/11/23 23:57
ランダムにソートすることがシャッフルですが何か?

462 :デフォルトの名無しさん:02/11/24 00:07
ランダムな順番にすることを整列とは言いませんが何か?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void shuffle(int array[], size_t array_idx_max)
{
size_t r; int swap_tmp;
if(!array_idx_max)
return;
r = (size_t)(rand() / (double)RAND_MAX * array_idx_max + 1);
swap_tmp = array[0];
array[0] = array[r];
array[r] = swap_tmp;
shuffle(&array[1], array_idx_max - 1);
}


int main()
{
int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
const size_t array_idx_max = sizeof(array) / sizeof(int) - 1;
size_t i;
srand(time(NULL));
shuffle(array, array_idx_max);
for(i = 0; i <= array_idx_max; i++)
printf("%d: %d\n", i, array[i]);
getchar();
return 0;
}

463 :デフォルトの名無しさん:02/11/24 00:11
ループの中で呼び出される関数は、その関数内のローカル変数は、staticで宣言したほうが
効率がいいのですか。

464 :デフォルトの名無しさん:02/11/24 00:12
関係ないっしょ

465 :デフォルトの名無しさん:02/11/24 00:36
>>463
自動変数をスタックに確保する方式の場合、マシン語 0 〜 2 命令程度のコストしかかからない。
それを効率悪いと呼ぶのは自由だが、今日びの CPU は秒間数億を超える命令を実行できる。

466 :デフォルトの名無しさん:02/11/24 00:39
>>463
staticだと必ずメモリ上に置かれるので、かえって効率が落ちる可能性もある。
autoなら、うまくするとレジスタに割り当てられて速くなる。
とくに、RISCだと絶対番地からロードするのは苦手なので。

467 :デフォルトの名無しさん:02/11/24 01:42
あ。
前スレが dat 落ちしちゃったよ。
まだ 1000 逝ってなかったのに・・・。

468 :ム板ではキリ番でない444:02/11/24 09:54
>>459-462
thax.
私のためにもめないでー(♥´Д`)

469 :デフォルトの名無しさん:02/11/24 09:57
■ C言語質問所 <43++>
http://pc3.2ch.net/test/read.cgi/tech/1037134356/l50
■ char *c[44] = {"C言語のことは漏れに聞け!"};
http://pc3.2ch.net/test/read.cgi/tech/1037796472/l50

同時進行だからなー。
43++の方は2-200前後まで透明あぼんぬしとけば問題ないし。

470 :デフォルトの名無しさん:02/11/24 10:01
おいっ!>>444
「ランダムにソート」を
日本語か英語に一本化しろ!
通じないぞ!

471 :デフォルトの名無しさん:02/11/24 12:42
そもそも 「sort」 = 「並べ替え」 と思っている時点で DQN なんだよな。

「sort」 は 「種類」、またはそれに応じて区分けする事。
転じて、コンピュータ用語では 「整列」。

「並べ替え」 は 「arrange」。

472 :デフォルトの名無しさん:02/11/24 12:58
>「並べ替え」 は 「arrange」。
(ププ

473 :デフォルトの名無しさん:02/11/24 13:35
今グラフの地点間の最短距離のプログラム作ってるんですが、
どうしても、うまく行かず、誰か助けてください。

template<class T1>
structgraphVertex{//地点に関する定義
graphVertex<T1> *nextvertex;//次ぎの地点へのポインタ
T1data;
intindegree;
intoutdegree;
intpathlength;
boolintree;
graphEdge<T1> *edge; //地点からの枝に付いてのポインタ
};

template<class T1>
structgraphEdge{
graphVertex<T1> *destination;
intweight;
boolintree;
graphEdge<T1> *nextedge;
};
とりあえず、データセットの定義で、次は、関数の定義です。
あ、CLASSとTEMPLATEを使用してます。

474 :デフォルトの名無しさん:02/11/24 13:36

template<class T1>
bool graph<T1>::findshortest(T1 fromkey, T1 tokey){
if(!first)
return false;
Queue<char> que;

graphVertex<T1> *locptr = first;
graphEdge<T1>*locedge;
while(locptr != NULL){
locptr->intree = false;
locptr->pathlength = INT_MAX;
locedge = locptr->edge;
while(locedge != NULL){
locedge->intree = false;
locedge = locedge->nextedge;
}//end while
locptr = locptr->nextvertex;
}//end while


475 :デフォルトの名無しさん:02/11/24 13:37
Stack<T1> stack,stackrev;
T1 outs;
graphVertex<T1>*chkptr;
graphEdge<T1>*edgeptr,*minedgeptr, *pathptr;
int newpathlen, minedge, minpath;
bool treecomplete = false;

locptr = first;
while(locptr != NULL && locptr->data != tokey)
locptr = locptr->nextvertex;
if(locptr == NULL)
return false;
locptr->intree = true;
locptr->pathlength = 0;
stack.push(locptr->data);
while(!treecomplete){
treecomplete = true;
chkptr = locptr;
minedgeptr = NULL;
pathptr = NULL;
newpathlen = INT_MAX;



476 :デフォルトの名無しさん:02/11/24 13:37
>>473-
それC言語のプログラムじゃねーんだわ。
C++のスレあるからそっち逝ってくれ。

477 :デフォルトの名無しさん:02/11/24 13:38
ごめんなさい

478 :デフォルトの名無しさん:02/11/24 13:44
C と C++ の区別がつかない人が居るのか・・・。

479 :デフォルトの名無しさん:02/11/24 13:45
区別が付かないのではなく、書くべき場所を間違えたと言った方が正しいでしょう

480 :デフォルトの名無しさん:02/11/24 13:47
IEEEにC言語の規格はありますか?

481 :デフォルトの名無しさん:02/11/24 13:53
>>480
POSIXにCのヘッダや標準関数も含まれてるが、
言語自体はないと思う。

482 :デフォルトの名無しさん:02/11/24 13:57
例えばTurbo Cで定義されているグラフィック関数などを、LSI C-86で
使ったりすることは不可能なんでしょうか?

483 :デフォルトの名無しさん:02/11/24 14:00
>>482
コンパイラが互換を謳っていない限り、基本的に処理系依存の事は不可能だと思ってくれ。

484 :デフォルトの名無しさん:02/11/24 14:00
>>482
それはC言語の話じゃなくて
処理系の話なので、
処理系に詳しい人に聞いて。俺は知らん。

485 :デフォルトの名無しさん:02/11/24 14:04
>>483-484
すいませんでした。ありがとうございます。

486 :デフォルトの名無しさん:02/11/24 14:16
if ("false") printf("false\n");
だとfalseが表示されてしまいます。

487 :デフォルトの名無しさん:02/11/24 14:18
>>486
日頃の行いが悪いからだ。

488 :デフォルトの名無しさん:02/11/24 14:26
if("false")
↑これってなに?

489 :デフォルトの名無しさん:02/11/24 14:28
if 文

490 :488:02/11/24 14:30
>>489
そりゃそうだ。誰もこれがwhile文に見えたりはしません。
俺が言いたいのはなんでfalseを""で囲んでるのかってこと。


491 :デフォルトの名無しさん:02/11/24 14:30
>>490
文字列リテラル(文字列定数)を知りませんか?

492 :デフォルトの名無しさん:02/11/24 14:31
>>490
文字列にすれば真になるというつまらないネタだろ・・・

493 :デフォルトの名無しさん:02/11/24 14:32
>>490
囲まなかったら(false を定義してないと)エラーになるだろーが

494 :488:02/11/24 14:32
>>491
だけど""で囲んじゃったらif文が通るのは当たり前じゃなくて?

495 :デフォルトの名無しさん:02/11/24 14:33
>>494
明らかなネタだろうが。

496 :488:02/11/24 14:34
禿しく勘違いしてた。
ネタでしたか・・・

497 : :02/11/24 14:36
>489
http://www.geocities.co.jp/AnimalPark-Lucky/2482/houbi.jpg

498 :デフォルトの名無しさん:02/11/24 14:36
if(0[""]) print("false");
とするとfalseとプリントされません。

499 :デフォルトの名無しさん:02/11/24 14:37
#define print(x)


500 :499:02/11/24 14:38
いや、printfでも""[0]==0なんだからプリントされないか

501 :デフォルトの名無しさん:02/11/24 14:38
500ゲt

502 :デフォルトの名無しさん:02/11/24 14:40
>>499
コロすよ?コロッコロッ!

503 :デフォルトの名無しさん:02/11/24 14:50
C言語でGUI使いたいんで、情報ください。

504 :503:02/11/24 14:53
すまん。ここスレ違いだった。

505 :デフォルトの名無しさん:02/11/24 14:58
http://yasai.2ch.net/arc/kako/978/978796922.html (2,781,972 bytes)
このスレのように 1000 を突破するには C でどのようにすればいいですか?

506 :デフォルトの名無しさん:02/11/24 15:05
>>505
標準Cではできないから他のスレにゆけ

507 :知りたい人:02/11/24 15:25
テキストファイルから漢字を読み込むことはできるのでしょうか?
できるなら、そのやり方の手ほどきを、

508 :デフォルトの名無しさん:02/11/24 15:28
なさりたいことがよくわからないのですが、
fopenあたりを調べると幸せになれるかも。

509 :知りたい人:02/11/24 15:32
いつも、c = getc(fp)等で英数字一文字を読み込んでいたのですが、
漢字の場合、半角でなく、全角なのでどうすればよいのかと、

510 :デフォルトの名無しさん:02/11/24 15:35
>>509
fgetcの間違い?
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fgetwc.3.html

511 :デフォルトの名無しさん:02/11/24 15:37
>>509
全角か判定して、全角ならもう一回読み込む。

512 :デフォルトの名無しさん:02/11/24 15:39
>>504
スゲ−な 12535まで見る事が出来たぞ。↓

12534 名前: ゲームセンター名無し 投稿日: 2001/08/04(土) 17:27

あしあと



12535 名前: 1001 投稿日: Over 1000 Thread

このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。





--------------------------------------------------------------------------------
2ちゃんねるは、ここのサーバを使ってるです。。。

513 :デフォルトの名無しさん:02/11/24 15:58
C言語で脱初心者と言えるには、どんな事ができればいいんでつか?

514 :デフォルトの名無しさん:02/11/24 15:59
Cコンパイラを作れる。

515 :デフォルトの名無しさん:02/11/24 16:00
>>514
そりゃ無理ね...

516 :513:02/11/24 16:02
ソートとかサーチとか、データ構造とかも
一応ひととうりやったんだけども・・・

517 :デフォルトの名無しさん:02/11/24 16:03
なら2ch名物リバーシでも作ってみたら?
人間とCOMがそれぞれ先手・後手を選べる奴。

518 :デフォルトの名無しさん:02/11/24 16:05
そりゃC言語のスキルとは関係ないんじゃ?

519 :デフォルトの名無しさん:02/11/24 16:07
C言語である程度の規模の構造化されたソフトウェアを
設計・実装できるってのは重要だよ。

520 :デフォルトの名無しさん:02/11/24 16:08
パズル解くプログラムでも造れ

521 :デフォルトの名無しさん:02/11/24 16:16
極端な話、変数全部が大域変数とかいうメチャクチャなコード
でもリバーシぐらいだったら作れちゃう訳で。
プログラミングのスキルとC言語のスキルは別だと言いたかっただけ。

522 :デフォルトの名無しさん:02/11/24 16:23
まずは、「一通り」 を 「ひととうり」 と書かない事だ。

523 :デフォルトの名無しさん:02/11/24 16:25
だからといって滅茶苦茶なコーディングでは
破綻してしまうくらい大きな模の例題なんて既に例題ではないし
stdio.hを自前で実装なんてのも現実的とはいえない。

C言語の中級者とは文法・アルゴリズムとデータ構造・
ソフトウェア開発サイクル全体を一通り経験している人間のことだと思うよ。

524 :デフォルトの名無しさん:02/11/24 16:26
C言語でhostコマンド似たような実行をするプログラムって、
どんなプログラムになるんでしょう?
よろしければ、解いてみてくださいm(__ __)m

525 :デフォルトの名無しさん:02/11/24 16:28
gethostbyname使え

526 :513:02/11/24 16:31
リバーシってオセロみたいの?


527 :デフォルトの名無しさん:02/11/24 16:31
オセロは登録商標だから。

528 :デフォルトの名無しさん:02/11/24 16:38
include <stdio.h>
int main(void)
{int s;
int i, j;
s = 1;
for(i=0; i<5; i++){
for(j=0; j<s; j++){
printf("*");
}
printf("\n");
s++;
}

return 0;
}
このコードを実行すると
*
**
***
****
*****
と出るわけですが、どうもわかりません。
forですからi=0 j=0 *1つ s=1
i=0 j=1で(j=1)<(s=1)でここは終わり。
次にi=1 j=0 * s=2 i=0 j=1 (j=1)<(s=2)ですからもう1つ*,
i=0 j=2 (j=2)<(s=2)でここは終わり
次にi=2 j=0 * s=2 , i=2 j=1 * s=3, i=2 j=2 * s=4, i=3 j=3 * s=5, i=3 j=4 * とどこまでも続いて行くような、、、、、
納得させて下さい。お願いします。


529 :デフォルトの名無しさん:02/11/24 16:41
>次にi=2 j=0 * s=2 , i=2 j=1 * s=3, i=2 j=2 * s=4, i=3 j=3 * s=5, i=3 j=4 * とどこまでも続いて行くような、、、、、
もうちょっとがんばれ(藁

530 :デフォルトの名無しさん:02/11/24 16:43
わかりました。forのなかだけで計算してしまい、終わると段落ができてsが加算されるのですね。これでいいですか?

531 :デフォルトの名無しさん:02/11/24 16:44
>>530
んだ

532 :デフォルトの名無しさん:02/11/24 16:46
>>513
漏れは↓を C++ の STL で作ったが、これを C で書いてみたらどうだ?
http://pc.2ch.net/test/read.cgi/unix/1025600265/367-385
単語に対する読みの集計。

入力は 1 行 1 レコードのファイル (自分で作る)。
レコードは、単語\t読み\n のフォーマットで、単語も読みも重複する。
この読みを集計して出力する。
出力は単語を大文字小文字区別しないでソート。
単語内では数の多かった読みの順、同じ数の場合は読みの文字コード順でソート。


あとは、fputc() と fgetc() を除く全標準ライブラリを自分で書いてみるとか。

533 :デフォルトの名無しさん:02/11/24 16:54
530です。

せっかくですのでもう1つ質問です。僕は今年の11/12から「やさしいC」という本で勉強中ですが、一日二時間は最低勉強して何年すればC原語が使いこなせるようになるでしょうか?今は答をみないと練習問題も分かりません。
またこの入門書は繰りかえし勉強するべきでしょうか?_そしてどのくらいしたら今度は「アメリカの大学の教科書の本格的なCの入門」という入門から中級(おそらく)あたりの本へすすむべきでしょうか?またこれじゃなくお勧めの本はありますか?


534 :デフォルトの名無しさん:02/11/24 16:58
C原語はしらんが
C言語なら何年もの必要は無いだろう。
使いこなすってのがどのくらいのことを言うのかにもよるが。

言語自体は数ヶ月。一人前にプログラミングするのに必要な計算機の知識は、
まあ最低5〜6年の勉強が必要だろう。

535 :232:02/11/24 17:11
>>533
(・∀・)イイ 本だね。麻奈本。

536 :デフォルトの名無しさん:02/11/24 17:13
何回か繰りかえしたほうがいいですか?それとも入門から中級の本格的な本をやったほうがいいですか?

537 : :02/11/24 17:17
>>533


538 :デフォルトの名無しさん:02/11/24 17:17
>>533
その、分からない、つーのは間違っているとしても自力で解くこと自体が出来ないのか?
そういう奴はプログラムするのに向いているとは言えないな。
何年かかるか予想も出来ない。もしかすると一生出来ないかもよ。

とりあえず、分かるようになるまで何度でも繰り返しやれ。
そんな状態では本格的な本に進んでもやっぱりわからんままだわ。

539 :デフォルトの名無しさん:02/11/24 17:18
>>536
まともなプログラマになりたいなら情報系の大学院に逝きなさい。
ただ食えればよいならとにかくWinでコード書きなさい。
趣味なら自分の楽しいことだけやりなさい。

540 :537:02/11/24 17:19
間違って書きこんでしまった鬱だ死のう。

とりあえず、はじめてのCでポインタと構造体まで読んだら
あとは、オンラインマニュアルの使い方を覚えて
K&Rを手元においておき、仕事をしながら覚える。


541 :デフォルトの名無しさん:02/11/24 17:24
>>535
麻奈信者ハケーソ

542 :デフォルトの名無しさん:02/11/24 17:32
>>533
次の本に進むという以前に問題が解けないのは痛い気がする・・・
本の内容はわからないけど、たぶん入門書ならそこまで長いプログラム
はないと思うから、大まかなプログラムの流れを考えてみるといいかも。
それから実際にコーディングしてみると解けるかもしれないよ。

543 :デフォルトの名無しさん:02/11/24 17:37
>>539
アホですか?
まともなプログラマになるのになんで情報系の大学院に行く必要があるわけ?


544 :デフォルトの名無しさん:02/11/24 17:38
>>543
さっそく釣れました(w

545 :nanashi:02/11/24 17:39
すみません、書いたコードが上手く動かなくって、
上手くいかない原因が分かりません。
どこがおかしいのか教えて下さい。

546 :nanashi:02/11/24 17:40
#include <stdio.h>

//関数の宣言
int tokuten(float, float *);
int beki(float, int,float *);

main(){

//変数の宣言
float daritu;
float kekka;

//開始
printf("全ての打者の打率がnと仮定したときの一試合辺りの得点の期待値を計算します。\n");
printf("打率nを入力して下さい。【0.000-0.999】\n");
scanf("%f",&daritu);
printf("打率が入力されました。\n");
tokuten(daritu, &kekka);
printf("打者全てが打率%fの時、一試合辺りの得点の期待値は%fとなります。\n",daritu,kekka);
getch();
printf("END");
return 0;
}



547 :nanashi:02/11/24 17:40
//関数の定義

int tokuten(float a, float *b)
{
int i,k;
float c;
*b=0;

for(i=1;1<100;i++){
c=0;
k=i+2;
beki(a,k,&c);
c=c*(1-a)*(1-a)*i*(i+4)*(i+3)/2;
*b=*b+c;
};

}


int beki(float a, int b,float *c){
int j;
*c=1;
for(j=1;j<=b;j++){*c=*c*a;};
}

548 :デフォルトの名無しさん:02/11/24 17:41
これまた恐ろしいほどのクソコードなりね.......

549 :nanashi:02/11/24 17:43
printf("打率が入力されました。\n");

までは上手く表示されるのですが
それ以降ストップしてしまいます。
どこに原因があるのかがよく分からないのです。

550 :デフォルトの名無しさん:02/11/24 17:43
>>543
まあ、大学院に行ってみれば分るよ。
学部では入門しかやらない。まともにOSやコンパイラを作れるような
知識が身につくのは大学院に行ってから。

551 :デフォルトの名無しさん:02/11/24 17:48
>>nanashi
>for(i=1;1<100;i++){
1<100 は永遠に真だろがヴォケ

552 : :02/11/24 17:49
>>549
得点の期待値をどうやって計算しているのか
説明してください。
コード読むの面倒くさい。

553 :552:02/11/24 17:50
うぉ解決されてしまった。恥

554 :nanashi:02/11/24 17:51
>551
上手くいきました。
ありがとうございます!

こんな書き間違いをしていたとは・・・・

555 :デフォルトの名無しさん:02/11/24 17:51
>>547
> int tokuten(float a, float *b)
> int beki(float a, int b,float *c)

何も返さないならvoidでいいんじゃないかな?
あとgetch使うならconio.hwpインクルードした方がいいんじゃない?

556 :デフォルトの名無しさん:02/11/24 17:58
>>550
大学で学ばなきゃ出来ないと考えている時点であんただめだめだよ。
自分で調べて自分で習得しろ。
俺は情報系じゃなかったけど、大学2年までにCのコンパイラぐらい作ってたぞ。

557 :デフォルトの名無しさん:02/11/24 17:59
>>556
マジか?鬼だな。

558 :nanashi:02/11/24 18:01
>555
分かりました、勉強してみます。
アドヴァイスありがとうございます。

559 :デフォルトの名無しさん:02/11/24 18:05
>>558
すまん、間違えた。

>あとgetch使うならconio.hwpインクルードした方がいいんじゃない

『これconio.hをインクルードした方がいいんじゃない?』に訂正

560 :デフォルトの名無しさん:02/11/24 18:06
>>556
その後、ちゃんとした大学院に行けばもっと磨けたのにもったいない。

561 :デフォルトの名無しさん:02/11/24 18:07
>>557
大学院に行けば、高校のころにProlog作ったなんてやつは珍しくない。
そういう奴等が刺激しあって向上していく。

562 :デフォルトの名無しさん:02/11/24 18:08
大学院ヲタウザい

563 :デフォルトの名無しさん:02/11/24 18:10
「でも自分で勉強しても限界が来るときがある。その時に大学院なんかに
行って勉強した方がいい」

こんな話しを聞いたことがあるよ。


564 :デフォルトの名無しさん:02/11/24 18:11
趣味で食えるまともなプログラマになりたい

565 :デフォルトの名無しさん:02/11/24 18:11
>>561
Prologて.....
大学2年でCコンパイラ作れたら
卒業するころにはOSの2つ3つ作ってんだろうなぁ

566 :デフォルトの名無しさん:02/11/24 18:12
俺や同輩以上はだいたい学部卒だが、たしかに部下や後輩を見てると
大学院出たやつは違う。

もちろん個人差はあるけど、傾向としてははっきりしてる。
格が違う。

567 :デフォルトの名無しさん:02/11/24 18:14
「blogの創世記は〜」とか云ったりするんでしょうか。
やはり格が違いますね

568 :デフォルトの名無しさん:02/11/24 18:16
まったりと大学院の話をしているところに割り込んでわるいのですが、質問です。
システム日付を取得する方法ってどんなのがあるのでしょうか?


569 : :02/11/24 18:16
>>565
OSは一人では作れないと思うよ。

>>561
高校生でPrologのインタプリタ/コンパイラってすごいな
ざらにいると書いてるけど、実はひとりしかしらんだろ?


570 : :02/11/24 18:17
>>568
localtime

571 :デフォルトの名無しさん:02/11/24 18:18
>>569
Cコンパイラだって一人で作ったら相当すごいと思うけどなぁ

572 :デフォルトの名無しさん:02/11/24 18:18
でもさそうやって自作されたコンパイラが出てきてしょっちゅう話題になる
ってこと遭遇していないんだけど。マイナーなマシンでの話?
それともコンパイラみたいなものは、できたけど吐くのは全然最適化できてない
糞コードか。できの悪い車輪の再開発だったら自己満足のレベル。


573 :デフォルトの名無しさん:02/11/24 18:26
Prolog なんて今どき使ったことあるやつ探すだけも一苦労だぞ(w
>>561どこの大学院なんだ?

574 :デフォルトの名無しさん:02/11/24 18:28
>>572
コンパイラを作ることでたくさんえられるものがあるだろ。
おまえさんには一生作れないだろうからなにが得られるかわからんだろうが。

575 :デフォルトの名無しさん:02/11/24 18:29
はぁ・・・最近マ板用の話題ばっかだな・・・

576 :デフォルトの名無しさん:02/11/24 18:29
なんだやっぱり糞レベルか。

577 :デフォルトの名無しさん:02/11/24 18:33
とりあえずマ板行け。

578 :デフォルトの名無しさん:02/11/24 18:33
まさかtinyCみたいなサブセットをもってCのコンパイラなんて言ってないよねぇ?
struct も typedef も sizeof も 関数ポインタやなんかも当然使えるよねぇ?
そのコンパイラでLinuxのkernelのコンパイルもできるよねぇ?
ちょっと見てみたいなぁ。ソースうpキボンヌ。

579 :デフォルトの名無しさん:02/11/24 18:34
> ソースうpキボンヌ。
ワロタ。

580 :デフォルトの名無しさん:02/11/24 18:35
わかりやすく言うとだな、
1.コンパイラを作れないレベル
2.糞コンパイラを作れるレベル
3.すばらしいコンパイラを作れるレベル
に分けると、俺は1で、その大学院の奴が2ってこった。
で、1の奴は2の奴が3でないことを馬鹿にし、
2の奴は1が2でないことを馬鹿にし、

   3の奴はいない。

581 :デフォルトの名無しさん:02/11/24 18:36
>>580
よくわかりますた。

582 :デフォルトの名無しさん:02/11/24 18:36
>Prolog作った
Prolog[で何か]作った

583 :デフォルトの名無しさん:02/11/24 18:38
しかし「Prolog作った」と言われれば普通
「Prologの言語仕様を考え出した」と思うよなぁ

584 :デフォルトの名無しさん:02/11/24 18:38
プ)
糞コンパイラも作れないヤツが何言ってんだか。
俺は2番ね

585 : :02/11/24 18:39
>>583


586 :デフォルトの名無しさん:02/11/24 18:39
>>584
ソ ー ス う p キ ホ ゙ ン ヌ

587 :デフォルトの名無しさん:02/11/24 18:39
あーつまんねースレ。
っつか、どこがC言語やねん。

588 :デフォルトの名無しさん:02/11/24 18:39
>>580のおかげで3以外のレスは糞レスにしか見えなくなってきた。

589 :JPS ◆M0LaMzf5rY :02/11/24 18:40
キャッシュメモリとレジスタってどう違うんでつか?

590 :manko_chinko ◆GLc2rpKRNM :02/11/24 18:40
>>580
そもそも3はひとりじゃ作れないだろう。


591 :デフォルトの名無しさん:02/11/24 18:41
とりあえず、消えろ。オマイラ

592 :デフォルトの名無しさん:02/11/24 18:41
>>589
スレ違い

593 : :02/11/24 18:42
>>589
さっきの時刻ってどうやってにしろ、
てめぇで調べるということを、きさまら知らんのか

594 :デフォルトの名無しさん:02/11/24 18:43
くそコテが2人同時に降臨しますた

595 :デフォルトの名無しさん:02/11/24 18:43
>>590
変態が参加すんな。ここはおまえがきていいスレじゃない。2度とくんな!!

596 :デフォルトの名無しさん:02/11/24 18:44
>>595
お前が消えろ。

597 :デフォルトの名無しさん:02/11/24 18:44
/\ |  /|/|/|  ドドドドドドドドドドドド!!
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|     (´⌒(´⌒`)⌒`)
  |  /  /  |文|/ // /  (´⌒(´祭だ!!祭だ!!`)⌒`)
  |/  /.  _.| ̄|/|/|/    (´⌒(´∧ ∧⌒`)`)`)⌒`)
/|\/  / /  |/ /     (´⌒(´(,゚Д゚ )つ `)`)
/|    / /  /ヽ  (´⌒(´⌒  (´⌒( つ |〕 /⌒`)⌒`)
  |   | ̄|  | |ヽ/|  遅れるな!!   ( |  (⌒)`)⌒`)
  |   |  |/| |__|/.   ∧_∧ ⌒`).ドし'⌒^ミ `)⌒`)ォ
  |   |/|  |/  (´⌒(´( ´∀` )つ  ド  ∧_∧⌒`)
  |   |  |/    (´⌒(´( つ/] /    ォと( ・∀・ ) 突撃――!!
  |   |/        ( |  (⌒)`)  ォ ヽ[|⊂[] )`)
  |  /         (´ ´し'⌒^ミ `)`)ォ (⌒)  |



598 :デフォルトの名無しさん:02/11/24 18:44
>>596
オマエモナー

599 :デフォルトの名無しさん:02/11/24 18:44
Cスレはどこももう終わったな。
みんなさようなら。
今まで厨な質問に親切に答えてくれたり逆に叩かれたりといろいろな思い出ができたよ。
俺みたいな奴はほとんど回答する側に回れなかったけど、それでも、
こんな俺でも答えられるような質問があって、質問者から「ありがとう」って
言われたときはとてもうれしかった。
規格論争には俺みたいなレベルじゃ加われなかったけど、論争を見てるだけでも
少しは俺の血となり肉となったと思う。
でももうさようならを言わなくてはならない時期にきてしまったんだね。
ここで出会った人たちとまたいつかどこかで出会えたらいいな。

みんな、本当にありがとう。

600 :デフォルトの名無しさん:02/11/24 18:45
   /⌒~~~⌒\                       (   ,,)   (,,・Д・)
 / ( ゚>t≡ )y─┛~~                〜(___ノ  〜(___ノ ,γ_
(_ ノγ U  ∩_∩)   THANK YOU 2ch     ┌───────┐   \
  α___J _J         and          (| ●        ● |      ヽ
  / ̄ ̄ ̄ ̄\  GOOD-BYE 2ch WORLD! /.| .┌▽▽▽▽┐ .|____|__||_| ))
 /     ●  ●、                   ( ┤ .|        | .|□━□ )
 |Y  Y       \ またどこかで会おうね  \.  .└△△△△┘ .|  J  |)
 |.|   |       .▼ |                 | \あ\      | ∀ ノ
 | \/        _人|∧∧∩゛冫、 .∧_∧      |    \り.\     . |  - ′
 |       _/)/)/( ゚Д゚)/ `  . (´∀` )..ヽ(´ー`)ノ  \が\ .   |  )
 \    / 〔/\〕 U  / ∩∩ (    ) (___)    \と.\ .|/
  | | | c(*・_・)  |  |ヽ(´ー`)ノ_|  |  | |   |〜 /\.\う\| (-_-)
  (__)_) UUUU /∪∪ (___)(_(__) ◎ ̄ ̄◎─┘ .└──┘.(∩∩)


601 :デフォルトの名無しさん:02/11/24 18:46
これはすごい IE ですね

602 :デフォルトの名無しさん:02/11/24 18:46
>>599
はいはい、さっさと消え失せろ。ウザイ

603 :デフォルトの名無しさん:02/11/24 18:47
キャッシュメモリ:CPUに近いかつアクセスの早いメモリ。
           メインメモリーに比べてな。
レジスタ:CPUが直接操作できるビット列。

604 :デフォルトの名無しさん:02/11/24 18:51
>>603
レジスタの部分が間違っているぞ

605 :デフォルトの名無しさん:02/11/24 18:52
レジスタ:CPUの作業領域

606 :デフォルトの名無しさん:02/11/24 18:55
またCの話じゃないんだよなこれが。

607 :デフォルトの名無しさん:02/11/24 18:57
>>606
C言語ってどうしてCの名前が付いたのですか?
月並みな質問ですみません。

608 :デフォルトの名無しさん:02/11/24 18:57
>>607
Computer Language

609 :JPS ◆M0LaMzf5rY :02/11/24 18:58
ありがとん

610 :デフォルトの名無しさん:02/11/24 18:58
>>608
BCPLという言語があって、
次にBという言語があって、
その後継がC。
だから、次はP。

611 :デフォルトの名無しさん:02/11/24 18:59
>>609
自分で調べることが大切だって事覚えろよ。

612 :デフォルトの名無しさん:02/11/24 19:02
A・・・アセンブラ
B・・・Basic
C・・・C言語
D・・・Delphi
E・・・
F・・・Fortran
G・・・
H・・・HSP

ですか?

613 :デフォルトの名無しさん:02/11/24 19:03
E ... Eiffel

614 :デフォルトの名無しさん:02/11/24 19:04
A・・・アセンブラ
B・・・Basic
C・・・C言語
D・・・Delphi
E・・・Eiffel
F・・・Fortran
G・・・
H・・・HSP
I・・・
J・・・Java
K・・・
L・・・Lisp

ですか?




615 :manko_chinko ◆GLc2rpKRNM :02/11/24 19:06
>>612
A・・・Ada
B・・・Basic
C・・・C
D・・・Delphi
E・・・沖田浩之
F・・・Fortran
G・・・スポット
H・・・HSP

616 :デフォルトの名無しさん:02/11/24 19:07
なんか低レベルなスレになってる・・・

617 :デフォルトの名無しさん:02/11/24 19:10
A ... Ada, B ... Basic, C ... C, D ... Delphi, E ... Eiffel, F ... Fortran, G ... German, H ... Haskell,
I ... Italy, J ... Java, K ... Korean, L ... Lisp, M ... ML, N ... , O ... O, P ... Python, Q ... , R ... Ruby,
S ... Smalltalk, T ... , U ... , V ... , W ... , X ... , Y ... , Z ...
うーん限界か...

618 :デフォルトの名無しさん:02/11/24 19:15
G…Gedanken
I…Icon
K…KL/1
N…
O…Oc
Q…
T…Tという言語は2つ知ってる。
Z…Zという言語はあるね。

619 :デフォルトの名無しさん:02/11/24 19:16
T...Tonyu
Y...YGS

620 :デフォルトの名無しさん:02/11/24 19:25
>>612-619
以前に同じ子とやったろ?

621 :デフォルトの名無しさん:02/11/24 19:28
V...VHDL

622 :デフォルトの名無しさん:02/11/24 19:29
U ... U-BASIC

623 :デフォルトの名無しさん:02/11/24 19:30
>>612-619
スレ立てるまでもないでやれよ。ここですんなよ、言語お宅が!

624 :デフォルトの名無しさん:02/11/24 19:35
っていうか、呆れ・・・

625 :デフォルトの名無しさん:02/11/24 19:37
A〜Zを埋める論争はスレ立てるまでもない。に移動しますた。

626 :デフォルトの名無しさん:02/11/24 19:38
よし、じゃあ次はアイウエオで。

627 :デフォルトの名無しさん:02/11/24 19:51
つーか答えはネットに埋まってるぞ

628 :デフォルトの名無しさん:02/11/24 20:11
庭に埋まってるぞ

629 :デフォルトの名無しさん:02/11/24 20:20
便所で詰まってるぞ

630 :デフォルトの名無しさん:02/11/24 20:56
           _,.. -,.='''''''' ー- 、_,/  _,,.,-ヽ,
         ,.-彡,.-',...ミ_  -、 '_,く  / _ノ-ニ_`>
        /_,/.i- 、く   ~`ヽ、  、.\,.彡'ム,∠..,,_
       /r‐./  l  \\    \ ヽ  r'゙,,.-‐''゙~ l,
   ,r一‐-'/, ' l   l.ヾ 、ヾ 、\   ヽ \ ヾ, .,._=ニニ=l,
  ノ'''゙゙゙゙`// .|  | l ヽヽヽ,ヽ _ヾ、  ヾ, ヽ. `ーtヮ-'_ノ|
 /,. -─/ l  |  |'、 l、ヽ,ヽ V\_ヽゝ  l'、 | l r'`゙゙゙~ ,. ヘ
  ̄>-| | l  |  .|ヽ l\ヽ'、i /f"{、)`ヾ.}.|ノへ-_‐;ニ-t'゙,,
∠~-'''''| | .l .ヾ、 ,キ' ヾ、 `ヾjl. ゙ ヽ  キ ヒミ、},-、__,...ヅ!
  | _,,....l .l | ヽ  V、_lr゙,-'、      \_ヅ 〉リヾ、-‐ニ-'ノ
  ゙-_つヾ、ヽヽ `ヽキ t‐゙ \          lン'`!| L.. -'"
   )ー--`ヾ、t、`ミ!、` ヽ、_ヅ ' ,. ヘ.   /"  j,! 
   (__-_-一'''ツヽ~|.|'`ヽ、    ヽ、. }  ,イ__ 
    r-‐゙''_'.ヅ  .|.l`'ー-ゝ、...,,,______"/ |_ <`lニ!''''''''''''''/ニ、ー、_
    Lミ_`ー=ヮ  ヾ、.  ,ム,,,,,,,/~コ     ヽi ヽt--,-,,,,_ l",/ l  ゙`‐ 、 _
     `ー‐'"     r'T~/,'./~r゙==ー-、,/  /,'.,'//, '`く   l      `)
               / -'〉゙,'/ .l l |"O `/  /,'.,'/'゙,べ  ヽ.   l    _,.-'"
            /_,_./,'./ヾ、l l.|  /_,..-_ニレ-| ん ヽ、. |.  .l~ ̄
           |/_,,,,゙Yー`-、_l | /_,,,,-ニ、レ-ー、ヽ,     h..  .l

631 :デフォルトの名無しさん:02/11/24 20:59
(;´Д`)ハァハァ

632 :デフォルトの名無しさん:02/11/24 21:05
以前に下記のような質問をした者です。
 V=0.5*a*t*t V;速度 a:加速度 t:時間(秒)
この式に対応して物体が移動するプログラムを作る場合
c言語において、時間tはどのようにして表すのですか?

そして「for(t=0.0; t<10.f; t+=0.1)」
上記のような答えをいただいたのですが、これでは時間tが1〜2に増加した時
実際に1秒たっていないので、映像上で物体が異常に早く動いてしまいます。
どうすれば良いのか、どなたか対処方法を教えてください。

633 :デフォルトの名無しさん:02/11/24 21:13
>>632
余った時間はほかの処理をするか時間がたつまでループ

634 :デフォルトの名無しさん:02/11/24 21:15
>632
デジタル微分解析だっけか?
冲がどーのこーの。

いずれにせよC言語の話じゃないよなー。

635 :デフォルトの名無しさん:02/11/24 21:18
>>632
clock() でミリ秒、time() で秒が取得できるから、それを使って何とかしろ。

636 :デフォルトの名無しさん:02/11/24 21:19
>>634
消えろ。

637 :デフォルトの名無しさん:02/11/24 21:19
>>632
時間がたつまでル−プですか・・・
1秒というのは正確に計れるのですか?

638 :デフォルトの名無しさん:02/11/24 21:21
>>635
やっぱりそれしか無いですよね、
がんばります。皆さんありがとうございました。

639 :635:02/11/24 21:21
clock() はミリ秒ではなかったな。
clock() / CLOCKS_PER_SEC が秒になるんだとさ。

640 :デフォルトの名無しさん:02/11/24 21:23
処理系依存だが、Windows なら Sleep()、Unix なら sleep() を使う手もある。

641 :デフォルトの名無しさん:02/11/24 21:28
>>640
ハア?

642 :デフォルトの名無しさん:02/11/24 21:31
ライブラリ何使うか知らないけどあの程度だったらsleepで十分だろ。
ヘタに重く回られたらたまったものじゃない。

643 :デフォルトの名無しさん:02/11/24 21:40
プログラム実行中にこっちがなんらかの制御を加える場合
どのような方法がありますか?
関数名でもそれについてのHPでもいいので教えて欲しいです。

具体的には例えばボールが左から右へ行くようなプログラムで
プログラムを実行してボールが画面中央に行ったときに
こちらがキーボードから例えば”S”を押すとボールが止まるって
いう制御を行いたいのです

644 :デフォルトの名無しさん:02/11/24 21:41
OSとコンパイラは?

645 :デフォルトの名無しさん:02/11/24 21:42
>>643
過愚師か?

646 :デフォルトの名無しさん:02/11/24 21:42
>>644

Windows2000
Borlandのフリーのものです

647 :デフォルトの名無しさん:02/11/24 21:46
>>643
stopTheBall(char c);

648 :manko_chinko ◆GLc2rpKRNM :02/11/24 21:57
while(getch()!='s'){
/*ぼーるを転がす*/
}
こういうやつ?

649 :643:02/11/24 22:01
>>648
馬鹿には聞いていないです。

650 :デフォルトの名無しさん:02/11/24 22:02
一方向リストと単方向リストの違いは何ですか?

651 :デフォルトの名無しさん:02/11/24 22:04
表現

652 :デフォルトの名無しさん:02/11/24 22:05
一方向リストなんて聞いたことないべや

653 :デフォルトの名無しさん:02/11/24 22:12
>>650
単方向リストと双方向リスト
の違いだべ。


654 :JPS ◆M0LaMzf5rY :02/11/24 22:16
>>653
単方向リストは、次へのポインタをもつ。
双方向リストは、次へのポインタと、一つ前のポインタをもつ

655 :653:02/11/24 22:19
単方向
struct mono{
hoge nanika;
mono* pNext;
};

双方向
struct di{
hoge nanika;
di* pNext;
di* pBefore;
}:




656 :デフォルトの名無しさん:02/11/24 22:19
線型リストとの違いは?

657 :デフォルトの名無しさん:02/11/24 22:19
今調べた結果、一方向リストを単方向リストと言うみたいです。

658 :デフォルトの名無しさん:02/11/24 22:22
リストカット

659 :デフォルトの名無しさん:02/11/24 22:29
誰か>>656オセーテ

660 :デフォルトの名無しさん:02/11/24 22:34
>>659
ttp://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E7%B7%9A%E5%BD%A2%E3%83%AA%E3%82%B9%E3%83%88&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

661 :デフォルトの名無しさん:02/11/24 22:38
>>655
エラー
hogeは任意の型として、monoなんて型もdiなんて型もない。

662 :デフォルトの名無しさん:02/11/24 22:38
>>660
分かんないよぅ。単方向リストとどう違うのさ?
双方向リストとは?

663 :デフォルトの名無しさん:02/11/24 22:39
653は一度もプログラムを書いたことがないことが判明しました。

664 :JPS ◆M0LaMzf5rY :02/11/24 22:47
>>656
線型リストってのは、構造体をポインタで結んでるようなデータ構造の総称でつ。



665 :デフォルトの名無しさん:02/11/24 22:49
>>664
二分木でも?

666 :デフォルトの名無しさん:02/11/24 22:49
>>662
線型に対して、線型じゃないものを比べてみればよい。

667 :JPS ◆M0LaMzf5rY :02/11/24 22:51
>>665
間違いました。すいまそん。
えーと、線型リストってのは、直線上にデータを並べてる感じでつ。
それの総称で。
二分岐は木構造

668 :JPS ◆M0LaMzf5rY :02/11/24 22:51
このページいいよ。
http://www41.tok2.com/home/friendly/language/a1.htm

669 :デフォルトの名無しさん:02/11/24 22:58
つまり
線型リスト⊃単方向リスト、双方向リスト
ってことでつね!

670 :60cm浮き上がるストレート:02/11/24 23:00
遅レスですが、ミリ秒のやつです。
#include <stdio.h>
#include <time.h>
#include <conio.h>
int main(void)
{
 clock_t cs,ce,ces;/*long*/
 time_t ts,te,tes;/*long*/
 ts=time(NULL);
 cs=clock();
 printf("\x1b[1;1H終了するなら何かキーを押してください");
 printf("\x1b[3;1Htime  :");
 printf("\x1b[4;1Hclock :");
 for(;;)
 {
  te=time(NULL);
  ce=clock();
  tes=te-ts;
  ces=ce-cs;
  printf("\x1b[3;9H%ld",tes);
  printf("\x1b[4;9H%ld.%ld",ces/1000,ces%1000);
  if(kbhit()!=0)
   break;
 }
 return 0;
}

671 :JPS ◆M0LaMzf5rY :02/11/24 23:01
>>669
たぶん。あとスタックとかキューとかっていうデータ構造もありまつ。
668のサイトのほうが詳しいとおもうけど。

ついでに質問だけど、アセンブラの知識とかあった方がいいでつか?
春に情報処理技術者試験受けるのに、今レジスタとか勉強してるんだけども。
プログラム作るときとか役にたちます?

672 :デフォルトの名無しさん:02/11/24 23:06
>>671
まぁ知ってて損はないよ>>アセンブラ

673 :653:02/11/24 23:08
>>661
>>663
ついついC++の感覚でやっちたよ。

674 :デフォルトの名無しさん:02/11/24 23:11
>670
なんか分からんがすごい!

675 :デフォルトの名無しさん:02/11/24 23:13
>>566
スーパー采や人工林ですか?

676 :デフォルトの名無しさん:02/11/24 23:15
>>670
>>639

677 :デフォルトの名無しさん:02/11/24 23:25
単方向リストについて詳しく解説してあるHP知ってたら教えて
下さい。

678 :デフォルトの名無しさん:02/11/24 23:30
双方向リスト
┏━━┓┏━━┓
┃データ┃┃データ┃
┣━━┫┣━━┫
┃    ==>  ┃
┣━━┫┣━━┫
┃  <==    ┃
┗━━┛┗━━┛
単方向リスト(一方通行)
┏━━┓┏━━┓
┃データ┃┃データ┃
┣━━┫┣━━┫
┃    ==>  ┃
┗━━┛┗━━┛

679 :デフォルトの名無しさん:02/11/24 23:32
■->■->■
■<->■<->■

680 :デフォルトの名無しさん:02/11/24 23:39
>>679
データ圧縮しすぎると情報が伝わりません・・・

681 :デフォルトの名無しさん:02/11/24 23:41


通信とは「通じたと信じる」のだっ!
伝達とは「伝えて達する」のだっ!

 

682 :デフォルトの名無しさん:02/11/24 23:42
達するって何だよ達するって

683 :デフォルトの名無しさん:02/11/24 23:43
>>680
単リ:■->■->■
双リ:■<->■<->■

684 :デフォルトの名無しさん:02/11/25 00:05
>>681
じゃ「情報」は?

685 :JPS ◆M0LaMzf5rY :02/11/25 00:19
勉強っていうのは、知識を身に付ける事じゃないんだね。
勉強っていうのは、知識をどう使うかを身に付ける事なんだね。
19年間オレは勉強もどきをしてきたけど、
今日から勉強をします。

686 :デフォルトの名無しさん:02/11/25 00:21
CodeWarriorってコンパイラ使ってる人いる?

687 :デフォルトの名無しさん:02/11/25 00:26
>685
今ごろ気づいたのかよw

688 :デフォルトの名無しさん:02/11/25 00:27
>>684
「情報」とは「伝達」された「通信」の内容のうち、
真に必要となる部分を意味する。
ちなみに、内容のうち、情報に含まれないものは「冗長」という。

689 :デフォルトの名無しさん:02/11/25 00:44
49 点。

690 :デフォルトの名無しさん:02/11/25 11:15
>>685
> 勉強っていうのは、知識を身に付ける事じゃないんだね。
勉強というのは知識を身につけることだと思うけどな。
で、勉強することにより、自分の考え方や行動が進歩したら
勉強したことが身に付いたのだろう。

ま、身に付いたかどうかは自分ではわかりにくいけどな。

691 :デフォルトの名無しさん:02/11/25 13:11
タイトルの*が余計な気がする

692 :デフォルトの名無しさん:02/11/25 14:40
>>691
>>3-4

693 :デフォルトの名無しさん:02/11/25 15:53
>>691
実は[44]が余計なんです

694 :デフォルトの名無しさん:02/11/25 16:18
const を付けるべきだと思うがどうか。

695 :デフォルトの名無しさん:02/11/25 19:29
>>693
>>3-4

696 :デフォルトの名無しさん:02/11/25 19:48
malloc()について質問です。
下のプログラムのように、func()でmalloc()してメモリを確保し、
関数の外でそのデータを見ると壊れているようなのです。
free()するまでは有効だと思うのですが、どうなんでしょう?

#define SIZE 30000

int main()
{
char *p;

func(p);

// p[0]-p[SIZE]を表示する関数
PrintData(p, SIZE); // データが壊れてる

free(p);
}

int func(char *p)
{
FILE *file;

file = fopen("tmp.txt", "rb");

fread(p, 1, SIZE, file);
PrintData(p, SIZE); // データは正常

fclose(file);
}

697 :デフォルトの名無しさん:02/11/25 19:52
>>696
どこでmallocしている?
それと、funcの引数ははchar **にして呼び出し時にfunc(&p)としてやらないとpにはfunc内でmallocしたものが入らないよ。

698 :696:02/11/25 20:10
>>697
malloc()はfread()の前に書き忘れてました・・・
char **にしたらできました! ありがとうございました。
何故そうなるのかはまだ考え中ですがw


699 :デフォルトの名無しさん:02/11/25 20:11
Cで、Perlのsplitのようなことをしたい
(ファイルから1行読みこんで、適当な区切り文字で分割して配列に入れる)
のですが、どうするのが一番効率的でしょうか?
fscanfでやると、各行のデータの数がそろっていないと
変なことになりそうなので使いにくんですが。

700 :デフォルトの名無しさん:02/11/25 20:19
>>699
strtok()

関数リストには一度目を通しておくことをお勧めする。

701 :デフォルトの名無しさん:02/11/25 20:45
>>699
> どうするのが一番効率的でしょうか?
Perlのsplitを頂戴して適当に改造する。


702 :JPS ◆M0LaMzf5rY :02/11/25 23:48
scanfは改行文字を配列に格納するんでつか?

703 :デフォルトの名無しさん:02/11/25 23:50
格納しないんじゃない?

704 :デフォルトの名無しさん:02/11/25 23:52
宣言

-char *strtok(char *s1, const char *s2);
-char far * far _fstrtok(char far *s1, const char far *s2);

説明

strtok と _fstrtok は,文字列 s1 を,分離文字列 s2 から
1文字以上の間隔で区切られた,0 個以上のトークンからなるもの
とみなします。

TURBO C++ FOR WINDOWS Version3.1

705 :デフォルトの名無しさん:02/11/26 01:52
>>702
質問の意味がわかんない

706 :デフォルトの名無しさん:02/11/26 12:19
配列に入れた文字列はどうやって表現するんですか?
例えば変数名を変数で表したい時とか

int ABC;
char s[10];
strcpy(s, "ABC");
s=12;

とかやっても変数ABCに12が代入されるわけではないんですよね?

707 :デフォルトの名無しさん:02/11/26 13:19
>>706
それは構造体&共用体でやるんじゃあござんせんか?

708 :デフォルトの名無しさん:02/11/26 13:47
>>706
なにがしたいのかよくわからん

709 :706:02/11/26 13:59
>>707
構造体&共用体ですか?
具体的にはたとえばどのようにすればいいのでしょうか。

>>708
ある1箇所に来る変数を状況によって変えるとか…です。

710 :デフォルトの名無しさん:02/11/26 14:10
>>709
Perl の $afo = 1; $x = "afo"; $$x = 2; みたいなことしたいんじゃないの?

711 :デフォルトの名無しさん:02/11/26 14:10
union U
{
int i;
char s[4];
};

U u;
int a;

u.i = 0x12345678;
for(a = 0; a < 4; a++) printf(" %02x", u.s[a]);

strcpy(u.s, "ABC");
printf(" %08x", u.i);


712 :707:02/11/26 14:23
>>706
711がマブい答えをくれましたよ。ちなみに、711のは共用体ですな。

713 :デフォルトの名無しさん:02/11/26 14:29
711は完全に勘違いしてるわけだが。

714 :706:02/11/26 14:42
説明不足ですいません。

つまるところは変数名を直接記述せずに
何か変更可能な方法で表現したい、っていうことなんですが…

715 :706:02/11/26 14:47
int a1;
int a2;
int b;

a1=1;
a2=2;

b=(  )+3;
  ↑
ここには状況に応じてa1かa2のどちらか入る、みたいな…

716 :デフォルトの名無しさん:02/11/26 14:49
>>715
それくらいのことだったら配列使えば?
int a[2];
int b;
int a[0] = 1;
int a[1] = 2;

717 :デフォルトの名無しさん:02/11/26 14:53
こういうことか?

int a1;
int a2;
int b;
int *a12;

a1=1;
a2=2;

if (rand() & 1)
a12 = &a1;
else
a12 = &a2;

b = (*a12)+3;


718 :706:02/11/26 15:25
変えたい部分が配列とかだったらどうなのでしょうか?

int abc[5];
int def[3];
int ghi[6];
...

int j=3;
int k;

k=(   )[j]+3;
   ↑
ここにくる配列を上の3つから選びたい時とか…

719 :デフォルトの名無しさん:02/11/26 15:34
2次配列にする

720 :706:02/11/26 15:52
>>719
なるほど。目からウロコですた。
なんとかできそうです。
みなさんありがとうございました。

721 :デフォルトの名無しさん:02/11/26 16:05
…くだらねぇ

722 :デフォルトの名無しさん:02/11/26 16:12
>>721
同意
特に>>719うそ教えてんじゃねえよ

723 :デフォルトの名無しさん:02/11/26 16:47
>>722
なんか嫌なことでもありましたか?(・∀・)

724 :デフォルトの名無しさん:02/11/26 17:00
とりあえず、厨を弄んでいる
>>719 = >>721 = >>723

んで、そんなことも分からない
>>720 = >>722

という認識でOK?


725 :デフォルトの名無しさん:02/11/26 17:02
んん〜?なんか間違ったこと教えたっけ?

726 :デフォルトの名無しさん:02/11/26 17:08
サイズ違ってるだろ

727 :デフォルトの名無しさん:02/11/26 17:11
ふんふん。だからな〜に?(・∀・)

728 :デフォルトの名無しさん:02/11/26 17:15
おまえ見苦しい

729 :デフォルトの名無しさん:02/11/26 17:16
   ∧_∧    / ̄ ̄ ̄ ̄ ̄
    (ω・ )ゝ < えっ?>>728
.  ノ/  /     \_____
  ノ ̄ゝ


730 :デフォルトの名無しさん:02/11/26 17:32
>>711
処理系依存だが。

>>718
int* xxx = abc; /* or def/ghi */
k = xxx[j]+3;

731 :デフォルトの名無しさん:02/11/26 17:37
>>730
それでいいなら初めっから
k = abc[i]+3;
にしろよ....

732 :デフォルトの名無しさん:02/11/26 17:41
int *の配列にいれてやればいいじゃん・・・

733 :JPS ◆M0LaMzf5rY :02/11/26 20:40
main関数がintを返すのは規格で決められてるんでつか?
void main(void)ってのは間違ってるって書いてあったんだけど、
K&Rにはmain()って書いてあるし・・・

あとアドレスを表示するときの変換していしで%dを使うのは未定義でつか?

734 :デフォルトの名無しさん:02/11/26 20:48
何度も出ているFAQだがトリップをつけると厨房と言われずにすむ。



かもしれない。

735 :デフォルトの名無しさん:02/11/26 20:56
>main関数がintを返すのは規格で決められてるんでつか?
int main(void)とint main(int argc, char *argv[])は(mainがないような
環境を除けば)どんな処理系でも使える。
そのほか、処理系定義の形式も、処理系によっては使えるかも。

>void main(void)ってのは間違ってるって書いてあったんだけど、
まあ、ポータブルなプログラムのつもりなら間違いと言ってよいだろう。

>K&Rにはmain()って書いてあるし・・・
これはint main()と同じ意味。

>あとアドレスを表示するときの変換していしで%dを使うのは未定義でつか?
Yes.

処理系によっては、ポインタを整数にキャストしてやればよい。
(結果は処理系定義)

また、%pを使えばポインタ値が処理系定義のフォーマットで
出力される。

736 :JPS ◆M0LaMzf5rY :02/11/26 21:03
thanx
main()がint main()と同じなのは知らんかった・・・。
なんも書いてないとこは全部voidになるわけじゃないんだね。
たとえば自前の関数で返り血省略したときも、
intを返すってなるの?
でもそれだったらint main()って書いた方がいいと思うのは俺だけ・・・?

737 :デフォルトの名無しさん:02/11/26 21:07
アセンブラっていわばコンパイラのことでないの?
アセンブリ言語でしょ?

738 :西門 ◆J1DLkSnXwI :02/11/26 21:08
>>736
返り値の型を明示しない関数の宣言はintと書いたのと同じ。
まあ、昔からの互換性だけが理由。intと書いておけば?

739 :西門 ◆J1DLkSnXwI :02/11/26 21:09
>>737
Assembly languageだね。
アセンブラはアセンブリ言語を機械語に翻訳するソフトのこと。

740 :デフォルトの名無しさん:02/11/26 21:12
MIT(マサチューセッツ工科大学)人工知能研究所では
「現在、研究されているプログラム生成AIは10年後に
は実用化されることはがほぼ確実。」としている。
http://science.2ch.net/test/read.cgi/future/1022864257/l50
つまりPGは無用の長物になるということラスィな。

741 :デフォルトの名無しさん:02/11/26 21:14
>>740
どうせ「まただまされたわけだが」だろ?

742 :デフォルトの名無しさん:02/11/26 21:18
省略できる所をわざわざ書く奴はDQN。
intを返す関数なら省略したほうが玄人。
それで通じない奴は素人。

743 :デフォルトの名無しさん:02/11/26 21:23
>>742
変数は全て int a,b,cですか?w

744 :西門 ◆J1DLkSnXwI :02/11/26 21:31
>>742
釣り初心者ですか?

745 :デフォルトの名無しさん:02/11/26 21:32
>>743
省略できると書いてあるだろうが。馬鹿が。

746 :デフォルトの名無しさん:02/11/26 21:40
>>744
釣りはしたことが無いから初心者とも言える。

747 :デフォルトの名無しさん:02/11/26 21:47
>>745
じゃあdo { } while ( );の{ }も省略するんだね?

演算子の優先順位も全部おぼえていて、
省略できる( )は全部省略するんだね?


748 :デフォルトの名無しさん:02/11/26 21:49
>>747
はあ? 当たり前だろうが。
優先順位? そんなもの覚えてない奴がC言語なんか使ってんのか?

749 :デフォルトの名無しさん:02/11/26 21:54
>>748
へえー、何段階あるの?

750 :デフォルトの名無しさん:02/11/26 21:57
……748は必死に教科書で優先順位のレベル数を数えています……

751 :デフォルトの名無しさん:02/11/26 22:01
>>749
何段階あるかなんて覚えていない。というか数えたこと無い。
どれとどれを比べてどっちが優先順位が高いかなら分かるが。

752 :デフォルトの名無しさん:02/11/26 22:02
……教科書が見つからなかったようです……

753 :デフォルトの名無しさん:02/11/26 22:08
>>751
何段階あるかなんて覚えていない?
そんなもの覚えてない奴がC言語なんか使ってんのか?

754 :デフォルトの名無しさん:02/11/26 22:08
>>752
答えたら答えたで「教科書が見つかったようです」と書くだけだろうが。
つまらんレスしてんじゃねーぞ。

755 :デフォルトの名無しさん:02/11/26 22:08
>>753
へえー、何段階あるの?


756 :デフォルトの名無しさん:02/11/26 22:10
>>753
優先順位さえ覚えていれば何段階あるかなんか覚える必要ないだろ。
無駄なもん覚える必要はない。

757 :JPS ◆M0LaMzf5rY :02/11/26 22:11
while( (ch = getchar()) != EOF)
  putchar(ch);
これだと、putcharは改行するまで実行されてないってこと?
それとも実際処理はしてるっていうか、そこは通ってるけど、バッファにためてるから
改行文字くるまで通り過ぎてるの?

758 :デフォルトの名無しさん:02/11/26 22:11
>>757
少しは自分で調べてから質問しようね。

759 :デフォルトの名無しさん:02/11/26 22:11
優先順位を覚えるのはなぜ無駄じゃないの?
よく使うやつ以外はかっこつけとけば覚える必要ないじゃん。
覚えるのは無駄だろ?

760 :デフォルトの名無しさん:02/11/26 22:12
>>756
言うことが矛盾し出した(ワラ

761 :JPS ◆M0LaMzf5rY :02/11/26 22:13
優先順位は15段階のようでう。

762 :デフォルトの名無しさん:02/11/26 22:13
保守がアホかもしれないので、あまり知られていない演算子順位
に基づくような式記述は、全部括弧つけてますが・・・
どうせコンパイルすれば性能には影響ないんでしょ。



763 :JPS ◆M0LaMzf5rY :02/11/26 22:15
あ、バッファってのは入出力処理のためにあんだもんね。
演算とかはやってるんだ、きっと。
でも入出力は\nくるまで待ってんだ

764 :デフォルトの名無しさん:02/11/26 22:15
>>757
普通の環境だと、改行を入力するまでは
getchar()が返って来ない。それまではバッファに入るだけ。

765 :デフォルトの名無しさん:02/11/26 22:16
>757
今まで教えて貰ったこと/教えて貰うことをすべてFAQとして
公開するなら、教えてやるよ。

766 :デフォルトの名無しさん:02/11/26 22:16
1+2*3を1+(2*3)なんて書くのか?
+と*の優先順位を覚えておけば何段階あるかなんて覚えておかなくてもいいだろ。
そんなことも分からんのか?

767 :デフォルトの名無しさん:02/11/26 22:17
>>759
ファイルのサイズが小さくなるだろ

768 :デフォルトの名無しさん:02/11/26 22:17
>>766
詭弁を弄し始めました

769 :デフォルトの名無しさん:02/11/26 22:17
>JPSがウザイと思う人の数>1

770 :JPS ◆M0LaMzf5rY :02/11/26 22:18
>>764
でも実際はchには1文字づつ入ってるんだよね?
だから\tとかスペースの数とか、数えられし。

771 :デフォルトの名無しさん:02/11/26 22:18
>>769
おまえがウザイ

772 :デフォルトの名無しさん:02/11/26 22:18
>>768
詭弁と言うこと自体詭弁だがなにか?

773 :デフォルトの名無しさん:02/11/26 22:19
>>772
(゚Д゚)ハァ?

774 :デフォルトの名無しさん:02/11/26 22:19
>>766
前置++と後置++は?

775 :デフォルトの名無しさん:02/11/26 22:24
>>774
同じだろ。正確には先に書いたほうが先に評価されるが。

776 :775:02/11/26 22:25
おっとごめん前置++と前置--に見えた。
後置++の方が優先順位上。

777 :デフォルトの名無しさん:02/11/26 22:32
高知が?スリーセブン?

778 :デフォルトの名無しさん:02/11/26 22:33
>>766
おみゃーは足し算引き算を普段使ってないのか?

779 :デフォルトの名無しさん:02/11/26 22:35
>>778
(゚Д゚)ハァ?

780 :デフォルトの名無しさん:02/11/26 22:38
775は776を書き込むまでの1分間に教科書をみてしまいますた。

781 :デフォルトの名無しさん:02/11/26 22:46
>>780
文章を書く時間を含めると難しいんじゃない?

782 : :02/11/26 22:54
>>781
そうとう ++ と -- は見間違えないと思うがな。
教科書見ないにしても絶対言い訳やな

783 :デフォルトの名無しさん:02/11/26 22:58
>>782
バカ、教科書見ながらやってたから見間違えちゃったんだよ!

784 :デフォルトの名無しさん:02/11/26 22:59
>>783
教科書見たのにどうして間違えるのかと

785 :デフォルトの名無しさん:02/11/26 23:40
>>775
>先に書いたほうが先に評価されるが。

は前置の方が先に評価されると読める。

>おっとごめん前置++と前置--に見えた。

なのでこの言い訳はとても恥かしいと思う。
すなおに間違えたって書けばいいのに。プ


786 :デフォルトの名無しさん:02/11/26 23:44
>>785
> >先に書いたほうが先に評価されるが。
> は前置の方が先に評価されると読める。
それは流石に、そう読めてしまうあなたの方が恥ずかしいと思うが。

787 :デフォルトの名無しさん:02/11/26 23:51
>>786
「先に書いたほうが先に評価されるが。」
ってどういう意味かわからないんですが
どう読むんでしょうか?


788 :ポインタ初心者質問です。:02/11/27 00:16
int *a,b;
b=100;
a=&b; /*質問1*/
printf("%d\n",b);
printf("%d\n",a); /*質問2*/
printf("%d\n",*a);
printf("%d\n",&a);

質問1:この場合、bのアドレスをaに代入するわけですよね?
質問2:そうするとこの文の実行結果はbのアドレスだと思ったんですが、aのアドレスが出ました。
なぜですか?

たぶん、初歩的なところが理解できていないのだと思うんですが、
1行目で宣言してるaに*がついているということは、
aはポインタ変数なんですよね。ここまではわかります。
で、ポインタ変数ってなんですか???ってことなんです。
メモリ内に*aの領域が作られるわけですよね。その内容にはアドレス以外入らないわけですか?

とりあえず、質問2でなぜaのアドレスが出てくるのかが知りたい。

789 :デフォルトの名無しさん:02/11/27 00:19
>>788
「C言語ポインタ完全制覇」を買って来い
↓先生、正解を教えてやってくだせい

790 :デフォルトの名無しさん:02/11/27 00:20
>>789
消えろ。

791 :デフォルトの名無しさん:02/11/27 00:22
>>790
消し方を教えてください。

792 :デフォルトの名無しさん:02/11/27 00:27
>>788
ホントに出る?


793 :デフォルトの名無しさん:02/11/27 00:28
>>788
漏れの環境での実行結果
100
1245048
100
1245052


794 :ポインタ初心者質問です。:02/11/27 00:33
実行結果は
100
6618620
100
6618624

です。
&aの実行結果6618624がbのアドレスですから、
6618620はaのアドレスでは?

795 :デフォルトの名無しさん:02/11/27 00:34
&a が a のアドレスで
a (=&b) が b のアドレスに木マット労が!>>794

796 :ポインタ初心者質問です。:02/11/27 00:35
すいません、もう一度頭の中を整理してきます・・・。

797 :デフォルトの名無しさん:02/11/27 00:36
次スレ

C言語質問所 <45>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/


798 :デフォルトの名無しさん:02/11/27 00:37
>>794
printf("%d\n",b); ←bの値
printf("%d\n",a); ←aの値(=bのアドレス)
printf("%d\n",*a); ←ポインタaが指すアドレス(=b)の値
printf("%d\n",&a); ←aのアドレス

799 :デフォルトの名無しさん:02/11/27 00:38
>&aの実行結果6618624がbのアドレスですから、
違う。
aの"値"がbへのポインタ。


800 :デフォルトの名無しさん:02/11/27 00:43
800!

801 :デフォルトの名無しさん:02/11/27 00:44
!800

802 :デフォルトの名無しさん:02/11/27 00:45
>>801
残念でした。

803 :デフォルトの名無しさん:02/11/27 00:47
800!!

804 :デフォルトの名無しさん:02/11/27 00:47
そろそろ次スレのことを決めといたほうがいいと思う。
続けるか、合流するか。

805 :デフォルトの名無しさん:02/11/27 00:48
分離してる理由は?

806 :デフォルトの名無しさん:02/11/27 00:51
<46>で立てちゃえ(w

807 :デフォルトの名無しさん:02/11/27 00:52
>>802
800!じゃなくて!800だもん。

808 :デフォルトの名無しさん:02/11/27 00:53
>>804
あっちの>>1が勝手に立てたんだからあっちが重複。

809 :デフォルトの名無しさん:02/11/27 00:55
(800 & 0xfe)!

810 :デフォルトの名無しさん:02/11/27 00:56
>>805
俺に聞けのタイトルが気に食わなかった先走り厨が、勝手に次スレを立てた
って説と、
論争でスレ消費しまくるので純粋な質問スレを次スレと称して先走って立てた
って説と、
どっちかだったような気がする。

811 :デフォルトの名無しさん:02/11/27 00:58
どちらにしろ、次にFULLになるであろうココが次をたてなければ問題にもならないのでは

812 :デフォルトの名無しさん:02/11/27 00:59
>>811
おまえあっちの>>1決定。

813 :デフォルトの名無しさん:02/11/27 01:01
>>811
このスレを立てたのは、
「俺に聞け」ってタイトルで伝統守れゴルァ派
が立てたので次が立たない保障はどこにもなし。

814 :デフォルトの名無しさん:02/11/27 01:02
>>810
いずれにせよ先走り厨の糞スレってこった。

815 :デフォルトの名無しさん:02/11/27 01:13
H・M・ダイテル+P・J・ダイテル著の「C言語プログラミング」
の練習問題解答集とか出てないんですかね・・・。調べたらなさそうな
感じですが、知ってる方いたら教えてください。

816 :デフォルトの名無しさん:02/11/27 01:14
PJ抱いてる!?

817 :デフォルトの名無しさん:02/11/27 01:24
どうせ、俺に聞けスレ続けるなら
入門書レベルの質問はC言語質問所スレに行ってくれ。
を1に加えればいいと思う。同種のスレが2つあることはあまり
いいことじゃないしね。

818 :デフォルトの名無しさん:02/11/27 01:25
ねぇねぇ、なんで opendir や stat はANSI標準じゃないの?

819 :デフォルトの名無しさん:02/11/27 01:27
POSIX依存だから

820 :デフォルトの名無しさん:02/11/27 01:31
>>818
特にstatなんて、かなりOSに依存するだろ。

821 :デフォルトの名無しさん:02/11/27 01:38
>>817
初心者用に作られたスレならいいけど今の質問所スレは明らかにここの次スレを
騙ってるのが問題。

822 :デフォルトの名無しさん:02/11/27 02:12
>>821
向こうに初心者、入門書レベルを任せればいい。となると、スレの
性質は質問所の方が正統になるわけで・・・。この際、「新・C言語は俺に聞け(仮)」
として1から始めるのもいいかもしれない。初心者お断りを掲げて。

823 :デフォルトの名無しさん:02/11/27 02:34
新・C言語だとC99とかいろいろ勘違いするので、、
素直に「C言語〜聞けpart45」でいいんじゃ

824 :デフォルトの名無しさん:02/11/27 02:42
K&R/ANSI Cは俺に聞け(パワーユーザ)

825 :デフォルトの名無しさん:02/11/27 03:51
>>822
いや、だからむこうが勝手に初心者向けをうたって「質問所」を作ったのだから、
こっちが変えることはない。
こっちは質問も論争もあり。
あっちは質問のみ。

826 :デフォルトの名無しさん:02/11/27 03:54
実質、差はないけどな(w

827 :デフォルトの名無しさん:02/11/27 04:10
>>826
あちらの>>1はそれがわからんのだよ…

828 :デフォルトの名無しさん:02/11/27 04:11
どっちが残ろうがいいんだけどよ。
迷惑被るのはこだわってる人以外の全員じゃねえか。
この質問はこっちだなとか考えるUSERはいねーっつーの
こっちがとかあっちがとかいってねーで、統一してもらいたいもんだね
それとも、もう一つ作るかぃ?

829 :デフォルトの名無しさん:02/11/27 06:41
>>810
どっちか、じゃなくて両方、しかも前者は 2 つある。
つまり、ここからの派生スレは 3 本ある。

C言語質問所 <45>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50

C言語を俺に聞け 第48回ぐらいか?
http://pc3.2ch.net/test/read.cgi/tech/1037279828/l50

お前ら!Cの論争はここでしてください。
http://pc3.2ch.net/test/read.cgi/tech/1037105440/l50

830 :デフォルトの名無しさん:02/11/27 06:50
>>828
Delphiは既にそんな状態だがな。

831 :デフォルトの名無しさん:02/11/27 11:23
ふざけてスレを乱立させて面白いつもりかもしれないが、
やはり迷惑なので、このスレに統一する努力をしよう。
他のスレへの書き込みのたびに、こちらへ誘導する書き込みを
繰り返すのが良いんじゃないか?


832 :デフォルトの名無しさん:02/11/27 11:31
おまいら 常にこっちのスレを上にあげとけ(任意)

スレタイに「本舗」を付けとけ(強制)

833 :デフォルトの名無しさん:02/11/27 11:32
厨どもが「元祖」や「本家」を付けるだけだろう。

834 :デフォルトの名無しさん:02/11/27 11:40
あーあ、これじゃDel厨やRuby厨と大差ないな。

835 :デフォルトの名無しさん:02/11/27 11:46
そもそも、スレタイがいけないんだよ。

スレタイにポインタ配列なんかつかうから、こっちがネタスレみたいになって・・・

836 :デフォルトの名無しさん:02/11/27 11:53
>>835
同意。せめてポインタ配列は止めて、できるなら俺に聞けなんて
ネタみたいなスレタイもやめよう。

837 :デフォルトの名無しさん:02/11/27 12:11
ということで新スレタイ案

C言語質問場

838 :デフォルトの名無しさん:02/11/27 12:12
今、まだ // がコメントにならないCコンパイラってあります?
あるなら具体的に名前を教えてほしいんだけど。

839 :デフォルトの名無しさん:02/11/27 12:14
cc

840 :デフォルトの名無しさん:02/11/27 12:17
さくら

841 :デフォルトの名無しさん:02/11/27 12:18
はにゃ〜ん

842 :デフォルトの名無しさん:02/11/27 12:20
MS-C は DOS 時代から // 使えてたしな。

843 :デフォルトの名無しさん:02/11/27 12:21
LSI-C86試用版

844 :デフォルトの名無しさん:02/11/27 12:24
>>843
試用版だけですか?

845 :デフォルトの名無しさん:02/11/27 12:28
あげ

846 :デフォルトの名無しさん:02/11/27 12:35
ということで新スレタイ案

C言語留置場

847 :デフォルトの名無しさん:02/11/27 12:36
抜ける
http://www.nobodyhere.com/neus.php3

848 :デフォルトの名無しさん:02/11/27 13:02
>>847
ぶらくら

849 :デフォルトの名無しさん:02/11/27 13:33
ふっくら

850 :デフォルトの名無しさん:02/11/27 13:49
いいこと思いついた!
ここはC言語らしく
C言語質問所 <45> (33) < このスレを上位byteとして、
対応するスレ(num)に
char *c[45] = {"C言語のことは漏れに聞け!"}; < を
or演算...



…フッ

851 :デフォルトの名無しさん:02/11/27 13:57
2 点。

852 :デフォルトの名無しさん:02/11/27 15:48
とりあえずs=12が間違ってるな

853 :デフォルトの名無しさん:02/11/27 15:53
/* Dim struct class c[45] != "C言語のことは漏れに聞け!" at Integer; */
ってどうよ?

854 :デフォルトの名無しさん:02/11/27 15:54
>852
いつのレスだよ!

855 :デフォルトの名無しさん:02/11/27 16:08
お前ら!
海原雄山はどうした!!

856 :デフォルトの名無しさん:02/11/27 16:26
>>855
あずまんが大王だろ!

857 :デフォルトの名無しさん:02/11/27 16:51
/* C言語質問所 <45> */
こいつはコメントにしとけばいいだろ

858 :JPS ◆M0LaMzf5rY :02/11/27 16:54
質問だけど、ほとんどの関数でつかうような変数で、しかも値を変化させるものだったら、
いちいち関数の仮引数に渡すよりも、グローバル変数として宣言した方がいいでつよね?

scanf("%s",&answer);

if(answer == yes)
だとしたら、mainとひとつの関数だけでいじる時は、その関数のstatic付きローカル変数として
定義したほうがいいんでつか?それともその場合もグローバル変数?

else
そうでつか・・・

859 :デフォルトの名無しさん:02/11/27 16:56
>>859
誰がどこでその値を変更するかわかったもんじゃないので地獄を見ます。

860 :デフォルトの名無しさん:02/11/27 17:17
>>858
どの程度までモジュール間の情報隠蔽を徹底するかと言うことだが、
場合によるとしか言いようがない。

ある程度大きいプログラムを書くときや、再利用まで考えたモジュール
を作るときは、グローバル変数で情報を受け渡すのは一般に良くない。

しかし、短いプログラムや、非常に頻繁に使われる共有情報まで
getter関数みたいなものを使ってアクセスする必要はないかも知れない。

たとえば、errnoとかPOSIXのgetoptみたいに、グローバル変数を使う場合もあ
る。

迷うようならグローバル変数はやめとけば無難。

861 :デフォルトの名無しさん:02/11/27 17:21
>>858
本当にそうするべきだという場合を除き、グローバル変数は使うべきではない。
仮引数は、その関数の実行にどんなデータが必要かを明示してくれる。
引数の数が増える事が気になるようであれば、それは構造体を使うべき場合だ。
引数で渡す事によるオーバーヘッドが本当に深刻である場合には、グローバル変数
にする価値はあるが、それは最終手段であり、その前に改良できるロジックはそう
しておく事だ。

862 :デフォルトの名無しさん:02/11/27 17:23
本当にそうするべきだという場合の例。
コールバック関数で、値を引数経由で渡す事ができない場合など。

863 :デフォルトの名無しさん:02/11/27 17:23
独学でCを勉強中なのですが、いくつか質問。
○×だけでもかまわないのでお答え願えたら有り難いでつ。

1,配列を使うメリットは、プログラムが読みやすい&簡潔になる事だけである。
2,構造体を使うメリットは、プログラムが読みやすい&簡潔になる事と、
  関数間で受け渡しが可能な事だけである。
3,全てのプログラムをint main(void){ここ}に書くのであれば、ポインタを使う必要性はまったく無い。
4,プログラミングを行う中で、16進数を使う局面はポインタを除けばまず無いと言っていい。
5,C言語でプログラムを行う者(このスレッドで解答しているような方々)は、
  1000個近くあるヘッダファイルの内容(関数定義)を全て記憶している。

以上です。どうかお願いします。

864 :JPS ◆M0LaMzf5rY :02/11/27 17:23
>>860
なんだかむづかしい話だな・・・。

おれが思ったのは、値を変える関数に渡すときはポインタを渡さないとだめでしょ?
おれがよくデバックして思うのはポインタはやっぱむずいってことで。
(*pointer)++ってやるべきとこを
*pointer++ってしてたり。
それだったらグローバル変数使ったほうがいいのかなって。今までぜんぜん使わなかったから。

メモリを動的に確保したり、配列との関係以外でポインタを使うのと、グローバル変数を使うのって
セキュリティ以外の部分で、違いってあるの?実行速度が速いとか・・・

865 :デフォルトの名無しさん:02/11/27 17:27
>>863
4、=> IOポートの入出力でつかわんか?といってみるテスト。

866 :デフォルトの名無しさん:02/11/27 17:29
>>863
すべて×。

867 :デフォルトの名無しさん:02/11/27 17:32
>>863
「読みやすい&簡潔」というのがどこまでを指してるのもよるが、
たぶん全部×。


868 :デフォルトの名無しさん:02/11/27 17:35
>>865-867
ありがとうございました。1から出直してきます。
とりあえず、5が×なのでほっとしました。

869 :JPS ◆M0LaMzf5rY :02/11/27 17:41
>>863
なけなしの知識で回答します

1、2
配列や構造体を使わないと、木とかリストとか出来ないし、
そもそもソートという概念が意味をもたなくなる。
3
たとえば可変長の配列を使うときには、ポインタ(配列の先頭)だけ宣言しておいて
その後ろをムクムクと伸ばしていくのに必要。
4
おれにはよくわからんが、このスレでその昔、ビット演算の話をしていたときに出てきたかもしれない。
5
たぶん覚えてはいないと思うけど、すべて実装できる人はいると思う。

すべて最後に(かもしれない)を付けて読んでね!

870 :デフォルトの名無しさん:02/11/27 17:41
揚げ足取り。
1. char a[2]; と char a1, a2; では一般に前者の方が確保に必要なメモリが小さい。
2. 構造体を使った場合、一般にコードは煩雑になる。
3. 全ての処理を main() に詰め込んではいけない。
4. アドレスを低レベルで操作する場合を除き、ポインタを 16 進数で操作する事はまず無い。
5. C 標準のヘッダファイルは 1000 も無い。

871 :デフォルトの名無しさん:02/11/27 17:44
>>  1000個近くあるヘッダファイルの内容(関数定義)
そんなに無いだろ。
ANSI-Cで定義されている関数はせいぜい200個以下
日常的に使う関数はせいぜい100個以下

大体、君だって日本語の漢字や単語は1000以上覚えているはず、
で知らない言葉が出てきたら辞書で調べるだろ?
プログラマも同じ、知らない関数やあやふやな関数が出てきたら
マニュアルを読んで覚えていくんだよ。

872 :JPS ◆M0LaMzf5rY :02/11/27 17:45
>>870
1ってどういうこと?一般にってことは実装依存?OSかな・・・

873 :デフォルトの名無しさん:02/11/27 17:47
>>872
実装依存。
VC++ では、前者は 4 バイト、後者は 8 バイト食う。

874 :デフォルトの名無しさん:02/11/27 17:49
コンパイラのオプションによっても違うし。

875 :JPS ◆M0LaMzf5rY :02/11/27 17:51
>>873
マジ!?sizeof(char)が1ってのは規格だよね?
それってどういう事?配列だと連続して確保するから、前後の隙間がないとか?
てかsizeof(char) == 1でも、実際はそんなに違うもんなんだ。

876 :デフォルトの名無しさん:02/11/27 17:53
>>864
実行速度は一概に言えないが、グローバル変数を直に読み書きする方が
速くなることが多いかな。

グローバル変数をなるべく持たない方が良いというのは、他のモジュールにつ
いて知る必要のあることが少なくて済むようになるからだ。

たとえば、extern int a, b, c; という外部変数を
int calc(int x) { ... }の中から参照していたとすると、
calcの動作を理解するためには引数だけでなくて、
プログラムの他の部分がa, b, cに何を代入するか、
極端に言えばすべて把握しないといけない。

しかし、もしextern変数で値を受け渡さないなら、calcのコードを見ただけで
その働きは完全に理解できる。


877 :デフォルトの名無しさん:02/11/27 17:53
>>870
> 1. char a[2]; と char a1, a2; では一般に前者の方が確保に必要なメモリが小さい。
揚げ足取りのツバメ返し。68000系は「一般的」なのかな?
char a[2];
char c1, c2;
printf("a:%p %p\n", &a[0], &a[1]);
printf("c:%p %p\n", &c1, &c2);

結果
a:0x22feee 0x22feef
c:0x22feed 0x22feec

878 :877:02/11/27 17:54
追加:
OS:win2000
コンパイラ:gcc

879 :デフォルトの名無しさん:02/11/27 17:54
>872
コンパイラのオプションでアセンブラコードに直せば判るよ

880 :デフォルトの名無しさん:02/11/27 17:55
>>874
スタックの取られ方ってオプションで変わったっけ?

>>875
結局、char でも 32bit でアクセスした方が速いという事らしい。
3 バイト余計に取ってるという事だ。

881 :JPS ◆M0LaMzf5rY :02/11/27 17:57
>>864
確かにグローバル使ったら、どこで何やってんのかわかりづらいよね。
んー。やっぱポインタ使うかー。
前に色んなソートの計算回数と比較回数を比べるソース作ったら
仮引数が7,8個ある関数できちゃって、しかもおれ変数の名前長いから
逆にわかりづらくなりそうだったんだけど。
それでもポインタってことね。納得しますた。

882 :JPS ◆M0LaMzf5rY :02/11/27 17:58
>>880
DQNな質問だと思うけど、32bitCPUとか64bitCPUとかあるしょ?
あれって処理単位を32bitでやるって事?

883 :デフォルトの名無しさん:02/11/27 17:59
>>881
> 仮引数が7,8個ある関数できちゃって
その引数って構造体で纏められないのか?

884 :デフォルトの名無しさん:02/11/27 18:02
68kだと無いみたいだが、i386用のgccなら
-mpreferred-stack-boundary=3とかやると、
スタック上のauto変数は8バイト境界にalignされたりする。

885 :JPS ◆M0LaMzf5rY :02/11/27 18:02
>>883
今おもえばね。その時はとりあえず問題といてらくらいで、自分のソースには使わなかったから。
たぶん3,4個まで縮められる。家帰ったらやってみます。
てかマージソートの説明がどこにものってない・・・

886 :JPS ◆M0LaMzf5rY :02/11/27 18:05
のってないってかわからない。
すれ違いかもしんないけど、ソートの実装方法っていろいろあるしょ?
微妙に違うとことかは、自分のわかりやすいのでいいのかな。
アルゴリズムが正しければいいよね?

887 :デフォルトの名無しさん:02/11/27 18:05
>>877
VC4 の話だった。
VC6 は 1 バイト単位で取られてるみたいだ。

888 :JPS ◆M0LaMzf5rY :02/11/27 18:06
>>887
VC4ってことはANSI前?


889 :デフォルトの名無しさん:02/11/27 18:07
「グローバル変数を使わない」以外にもうひとつ
モジュール間の依存を少なくする手が「詳細を隠す」こと。

たとえば、ハッシュ表を使う関数があるとすると、

typedef struct hash *hash_t;

hash_t hash_create();
void hash_add(hash_t, const char *key, const void *value);
void *hash_get(hash_t, const char *key);
void hash_del(hash_t, const char *key);

みたいに、ハッシュ表の中がどうなっているかはモジュールの外に
見せないようにする。

890 :デフォルトの名無しさん:02/11/27 18:13
>>888
・・・え?

891 :デフォルトの名無しさん:02/11/27 18:14
>>873
嘘つくな
構造体と同じレイアウトにアラインメントされる。

892 :デフォルトの名無しさん:02/11/27 18:17
>>891
構造体と違って順不同ですが何か?

893 :デフォルトの名無しさん:02/11/27 18:31
とりあえず謝っとく。
正直、すまなかった。

894 :863:02/11/27 18:57
>>869
わかりやすい説明ありがとうございました。2と3は特に助かりました。
>>870-871
ANSI-Cの関数を全部覚える事を目標にして頑張ります。

895 :デフォルトの名無しさん:02/11/27 19:26
>>894
覚えるんじゃなくて、理解する事を目標にね。
ライブラリを見て、アルゴリズムを理解したら、自分で実装。
あとはこれの繰り返し。だれもすぐに出来る香具師なんていないよ。
がんがれ、プログラマの卵。

896 :デフォルトの名無しさん:02/11/27 19:29
スレタイのことだけど、誰かふさぎこみたいなAAきぼんぬ
あと、雑談スレほしいな。ここ質問スレだからやりづらい。

897 :デフォルトの名無しさん:02/11/27 19:37
ここを雑談スレ、C言語質問所が質問スレ。

898 :デフォルトの名無しさん:02/11/27 19:44
雑談スレはここ。
http://pc3.2ch.net/test/read.cgi/tech/1006617496/l50


899 :JPS ◆M0LaMzf5rY :02/11/27 19:45
K&Rの演習1-9
二つ以上の空白文字を1つの空白に置換して出力ってのはこれでいいの?一応出来てるけど。

#include <stdio.h>

int main(void)
{
  int ch,flag = 0;

  while( ( ch = getchar() ) != EOF )
  {
    if(flag == 0)
    {
      if(ch == ' ')
      flag = 1;

      putchar(ch);
      continue;
    }
    else
    {
      if(ch != ' ')
      {
        putchar(ch);
        flag = 0;
        continue;
      }
    }
  }

  return 0;
}

900 :デフォルトの名無しさん:02/11/27 19:46
>>898
さんくす

901 :デフォルトの名無しさん:02/11/27 19:47
>>898
C言語雑談スレじゃないじゃん。てきとーなこと言ってんじゃねーぞ。

902 :デフォルトの名無しさん:02/11/27 19:49
>>896
> スレタイのことだけど、誰かふさぎこみたいなAAきぼんぬ
AAなどCには不要、Cには飾りなどいらない。

> あと、雑談スレほしいな。ここ質問スレだからやりづらい。
雑談してもかまわんよ。
「結 果 は 未 定 義 だ け ど な」

903 :デフォルトの名無しさん:02/11/27 19:49
>>899
> if(flag == 0)
キモイ。if(!flag)にしろ。




904 :デフォルトの名無しさん:02/11/27 19:53
>>901
全言語について雑談スレつくるんか?

905 :デフォルトの名無しさん:02/11/27 19:55
>>904
そうだ。Delphiを見習え。

906 :JPS ◆M0LaMzf5rY :02/11/27 19:58
>>903
分かりますた。
あとさ、'\b'ってバックスペースでしょ?

907 :JPS ◆M0LaMzf5rY :02/11/27 20:02
このソースうまくいかない・・・
#include <stdio.h>

int main(void)
{
int ch;

while( ( ch = getchar() ) != EOF )
{
if(ch == '\b')
{
putchar('\\');
putchar('b');
}
putchar(ch);
}

return 0;
}

908 :デフォルトの名無しさん:02/11/27 20:03
>>899
もっと短くなるだろ。

909 :デフォルトの名無しさん:02/11/27 20:03
>>899
do {
 ch = getchar();
 putchar(ch);
 while (ch == ' ')
  ch = getchar();
} while (ch != EOF);


910 :デフォルトの名無しさん:02/11/27 20:05
>>909
EOFもputcharするんですか?

911 :デフォルトの名無しさん:02/11/27 20:06
というか激しくバグ餅だな

912 :デフォルトの名無しさん:02/11/27 20:08
>>909
3つ以上空白が連続してたら?

913 :デフォルトの名無しさん:02/11/27 20:10
while ( (ch = getchar()) != EOF ) {
putchar( ch );
while ( ch == ' ' ) ch = getchar();
}

914 :デフォルトの名無しさん:02/11/27 20:11
>>912
(゚Д゚)ハァ?

>>913
おいおい・・・。

915 :JPS ◆M0LaMzf5rY :02/11/27 20:13
>>913
(・∀・)イイ!
さすがでつね。
ばぐる可能性なし?

916 :デフォルトの名無しさん:02/11/27 20:13
>>913
下のgetcharでEOFになったら?

917 :デフォルトの名無しさん:02/11/27 20:14
>>916
それでも無問題

918 :デフォルトの名無しさん:02/11/27 20:15
getcharでEOFが返った後、再度getcharした場合の挙動って
どうなってたっけ?

919 :デフォルトの名無しさん:02/11/27 20:15
とあるサイトに「獲得したメモリを free しなくても構わない、という考え方の方
が一般的であるようです」

と、書いてありましたが本当なんでしょうか?

920 :デフォルトの名無しさん:02/11/27 20:17
>>919
んなこたー無いだろ。時と場合による。

921 :デフォルトの名無しさん:02/11/27 20:17
>>919
サイト晒せ

922 :JPS ◆M0LaMzf5rY :02/11/27 20:17
はい先生質問!
913ので下のgetchar()でEOFになると下のwhile抜けて
上のwhileの ( (ch = getchar()) != EOF ) にいきまつよね?
オレの考えだと、EOFはここで上書きされてしまうと思うんですが。

923 :デフォルトの名無しさん:02/11/27 20:17
規格書で定義されている関数とマクロを数えてみたら、500以上あるな。
思ったより多い。ぜんぜん知らないやつもいっぱいある。

↓どんな関数(マクロ)か分かる?
conj fesetenv wcstoumax islessgreater raise snprintf
bsearch strxfrm strcspn strpbrk vswprintf wcsrtombs


924 :デフォルトの名無しさん:02/11/27 20:18
>>913
スペース直後の文字が漏れなくスキップされないか?

冗長に見えるが、これ以上簡略化できんだろう。

ch = getchar();
while(ch != EOF){
 putchar(ch);
 if(ch == ' ')
  do { ch = getchar(); } while(ch == ' ');
 else
  ch = getchar();
}

925 :JPS ◆M0LaMzf5rY :02/11/27 20:20
>>924
実行したけど907と全く同じ動き。

926 :デフォルトの名無しさん:02/11/27 20:20
>>923
bsearch() 知らんのは、qsort() 知らんのと同じくらいまずくないか?

927 :デフォルトの名無しさん:02/11/27 20:21
>>926
binsearch() では?

928 :923:02/11/27 20:22
>>926
bsearchは知ってたが規格に入ってたとは知らなんだ。


929 :デフォルトの名無しさん:02/11/27 20:24
>>927
(゚Д゚)ハァ?
どこの方言?

930 :デフォルトの名無しさん:02/11/27 20:25
bsearch なんか知らんかった
自分で作った方が早くない?

931 :JPS ◆M0LaMzf5rY :02/11/27 20:25
>>924
925は嘘ですた。すまそ。
スペース後の文字出力されず・・・

932 :デフォルトの名無しさん:02/11/27 20:26
>>925
907 と比べられても全く意味無いんだけど・・・。
913 と比べてくれよ。

933 :JPS ◆M0LaMzf5rY :02/11/27 20:27
ブランクって何?調べたら改ページってあるんだけど。
\fのこと?入力するときはなんてやればいいの?

934 :デフォルトの名無しさん:02/11/27 20:27
>>930
何がどう早いのか教えてもらおうか。

935 :デフォルトの名無しさん:02/11/27 20:28
>>934
気にするな

936 :デフォルトの名無しさん:02/11/27 20:30
垂直タブ! \v

937 :JPS ◆M0LaMzf5rY :02/11/27 20:32
>>936
あり。

938 :C言語は俺に聞け45:02/11/27 20:33
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しろ。
むしろ質問する前にWEBで検索するのが常識だ。

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行け。
入門書レベルの質問はC言語質問所スレへ行け。
コンパイラを探しているなら >>2 を見よ。

上記を逸した場合の結果は激しく未定義とする。

C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1037796472/

939 :デフォルトの名無しさん:02/11/27 20:38
質問は、「通じる」 日本語で書け。


↑ これも追加してくれ。

940 :デフォルトの名無しさん:02/11/27 20:42
while((ch = getchar()) != EOF){
 putchar(ch);
 if (isspace(ch)) {
  while (isspace(ch = getchar()))
   ;
  ungetc(ch, stdin);
 }
}


941 :デフォルトの名無しさん:02/11/27 20:43
>>899
2箇所のcontinueはいらない

942 :JPS ◆M0LaMzf5rY :02/11/27 20:49
>>940
ungetc・・・

943 :デフォルトの名無しさん:02/11/27 20:51
#include <stdio.h>
int main(void)
{
  int ch, flg = 0;
  while(( ch = getchar()) != EOF ) {
    if(ch == ' ') {
      if(flg) {
        putchar(ch);
        flg = !flg;
      }
      continue;
    }
    putchar(ch);
    flg = !flg;
  }
  return 0;
}

944 :デフォルトの名無しさん:02/11/27 20:52
>>940
> if (isspace(ch)) {

おいおい・・・

945 :デフォルトの名無しさん:02/11/27 20:54
system( "sed 's/ +/ /g'" );

946 :ネタ:02/11/27 20:56
int ch, flg = 0;
while(( ch = getchar()) != EOF ) {
  if(ch == ' ') {
    if(flg)
      goto JUMP;
    continue;
  }
JUMP:
  putchar(ch);
  flg = !flg;
}

947 :ネタ:02/11/27 20:57
やばい、>>945の方が面白い

948 :デフォルトの名無しさん:02/11/27 20:58
>>943
924 に比べてややこしく見えるが。

949 :デフォルトの名無しさん:02/11/27 20:58
>>943, >>946
全然ダメじゃん…

950 :デフォルトの名無しさん:02/11/27 21:02
while ((c= getchar()) != EOF){
    if (isspace(c)){
        while (isspace(c= getchar()))
            ;
        putchar(' ');
    }
    putchar(c);
}

951 :デフォルトの名無しさん:02/11/27 21:03
>>943
入力に" xx xx xx xx"を与えたら、出力が"xxxxxxxx"になったけど?

952 :デフォルトの名無しさん:02/11/27 21:05
>>950
ブランク文字の後にEOFになったらどうすんの?


953 :デフォルトの名無しさん:02/11/27 21:06
K&Rはungetc大好きだからな。
ungetc使ったやつがおそらく著者の想定した答だろう。

954 :デフォルトの名無しさん:02/11/27 21:07
>>950
だ〜か〜ら〜。
Tab 文字とか来たら仕様通り動かないでしょうが次スレよろしく。

955 :デフォルトの名無しさん:02/11/27 21:08
while ((c= getchar()) != EOF){
    if (isspace(c)){
        while (c != EOF && isspace(c= getchar()))
            ;
        putchar(' ');
        if (c == EOF)
            goto OUT;
    }
    putchar(c);
}
OUT:

956 :デフォルトの名無しさん:02/11/27 21:13
K&Rで「空白」といったら「ホワイトスペース文字全般」じゃないの?
まあ、いずれにせよ本質的な問題じゃないね。

957 :デフォルトの名無しさん:02/11/27 21:14
>>955
940の方が…


958 :デフォルトの名無しさん:02/11/27 21:15
はい。じゃこれで決定版ということで。

while((ch = getchar()) != EOF){
 putchar(ch);
 if (ch == ' ') {
  while ((ch = getchar()) == ' ')
   ;
  ungetc(ch, stdin);
 }
}


959 :デフォルトの名無しさん:02/11/27 21:21
>>956
空白の次に改行があったら、その改行はスキップされるがよろしいか?

960 :デフォルトの名無しさん:02/11/27 21:22
>>958
それでよし。

961 :西門 ◆J1DLkSnXwI :02/11/27 21:30
int ch, last_char_was_space = 0;
while ((ch = getchar()) != EOF) {
 if (! last_char_was_space || ch != ' ')
  putchar(ch);
 last_char_was_space = (ch == ' ');
}


962 :デフォルトの名無しさん:02/11/27 21:32
>>958
ungetcってEOFも戻せるんだっけ?

963 :西門 ◆J1DLkSnXwI :02/11/27 21:33
ungetc(c, fp)で、cがEOFだと失敗して、fpは影響を受けない。

964 :デフォルトの名無しさん:02/11/27 21:33
#include <stdio.h>
int getchoo(void) {
static int last = EOF;
int ch;
if ( last != EOF ) { ch = last; last = EOF; return ch; }
ch = getchar();
if ( ch != ' ' ) return ch;
while ( (last = getchar()) == ' ' );
return ch;
}
int main(void) {
int ch;
while ( (ch = getchoo()) != EOF ) putchar(ch);
return 0;
}

965 :デフォルトの名無しさん:02/11/27 21:33
戻せないらしい

966 :西門 ◆J1DLkSnXwI :02/11/27 21:36
>>965
ん? >>958はだから正しく動くよ。

・ungetcが失敗してstdinはEOF状態のまま。
・次のgetcharでもう一度EOFが返る。


967 :デフォルトの名無しさん:02/11/27 21:37
>>961

感動しますた。

968 :デフォルトの名無しさん:02/11/27 21:39
誰か次スレよろ。

969 :ポインタ初心者質問です。:02/11/27 21:44
質問します。

int *a,b;
ここで宣言した*aは「ポインタとして使うためにaというスペースを作る」という意味ですか?
このaに普通に数字を代入すると、その数字もアドレスとして認識されるのですか?
ですよね?

970 :デフォルトの名無しさん:02/11/27 21:49
だまれ

971 :デフォルトの名無しさん:02/11/27 21:51
>>969
「普通に数字」って?
整数型の値なら、そのまま代入はできないよ。

972 :デフォルトの名無しさん:02/11/27 22:00
if(c == ' ')

if(isspace(c))
ってなにかちがうのですか?

973 :ポインタ初心者質問です。:02/11/27 22:01
>>971
本当ですか?
int *a;
a=1000;
ではエラーがでるのですか?

974 :デフォルトの名無しさん:02/11/27 22:02
>>969
int *a; ってのは、int *型の変数aを宣言する、と読む。
で、変数aに代入できるのはint *型の値だけ。だから
a = 10 とかは出来ないよ。10はint *型じゃなくてint型だから。

975 :971:02/11/27 22:03
>>973
「本当ですか?」と聞く前にやってみやよ。

976 :973:02/11/27 22:04
>>975
自然にコンパイルとおりましたが?


977 :デフォルトの名無しさん:02/11/27 22:05
>>972
isspace() が何なのか調べてみようとは思わないのか?

>>973
とりあえず、「数字」 と 「数値」 を区別してくれ。

978 :デフォルトの名無しさん:02/11/27 22:06
>>977
知らないなら知らないっていいなよ、お・ば・か・さ・ん

979 :デフォルトの名無しさん:02/11/27 22:06
次スレのテンプレ、自助努力というキーワードを盛り込んでくれ。

980 :971:02/11/27 22:08
>>975
どんな処理系だ?そりゃ? gccでやってみたら、
> warning: assignment makes pointer from integer without a cast
って出た。

981 :デフォルトの名無しさん:02/11/27 22:08
>>977
違う。
isspace() は C 標準の関数だから、普通に C を勉強していれば知っているはずだ
と言った。

982 :971:02/11/27 22:09
>>980
まちがえた、
>>976 だった。

983 :デフォルトの名無しさん:02/11/27 22:10
誰か次スレ〜!!

漏れ立てらんね

984 :デフォルトの名無しさん:02/11/27 22:12
次スレのタイトルは以下でお願いします

char (*c)[44] = "C言語のことは漏れに聞け!";

985 :977:02/11/27 22:13
>>981
いつ言ったんだよ?

986 :デフォルトの名無しさん:02/11/27 22:14
>>984
いいけど、それ文法違反やんか。型が違うぞ。

987 :デフォルトの名無しさん:02/11/27 22:15
>>984
44 かよ

988 :デフォルトの名無しさん:02/11/27 22:15
>>984
俺に任せろ!

989 :デフォルトの名無しさん:02/11/27 22:16
1000!

990 :デフォルトの名無しさん:02/11/27 22:16
990

991 :984:02/11/27 22:16
>>986
文法違反ではありません。数字は45でお願いします。

992 :ポインタ初心者質問です。:02/11/27 22:17
>>974
わかりました、ありがとうございます。
具体的にint *型の値というのはどのようなものなんでしょうか?
つまり具体的なアドレスならば代入可能なんですか?>>794のような6618624とかでもダメですか?


993 :デフォルトの名無しさん:02/11/27 22:17
>>985
7 年くらい前

994 :デフォルトの名無しさん:02/11/27 22:17
>>991
コンパイルしてみな。

995 :デフォルトの名無しさん:02/11/27 22:18
1000

996 :ポインタ初心者質問です。:02/11/27 22:18
>>982
976は私ではありません。

997 :デフォルトの名無しさん:02/11/27 22:18
  _ハ、            _ハ、
 (- ・  ヾ          (- ・  ヾ
   ̄\  ヾ          ̄\  ヾ   
    (     ̄ ̄ ̄ヽヾ、    (     ̄ ̄ ̄ヽヾ、
     |        〈  ゞ   |        〈  ゞ
    / /| | ̄ ̄/ / | |     / /| | ̄ ̄/ / | |
    // ヽニニ// ヽニニl.  // ヽニニ// ヽニニl
   //     //.        //     //
   `       `        .`       `

998 :デフォルトの名無しさん:02/11/27 22:19
1000


999 :デフォルトの名無しさん:02/11/27 22:19
>>974
重箱の隅だが、void* 型や int[] 型も代入できるぞ。

1000 :デフォルトの名無しさん:02/11/27 22:19
このままスレが立たずに1000までいったら終了としましょう。

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

193 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)