C言語なら俺に聞け(入門編)Part 72

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C言語の*入門者*向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 71
http://hibari.2ch.net/test/read.cgi/tech/1286717824/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 141代目
http://hibari.2ch.net/test/read.cgi/tech/1286978599/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
2デフォルトの名無しさん:2010/10/24(日) 15:00:21
*p[]  ポインタの配列
(*p)[]  配列へのポインタ

豆知識な
3次スレ:2010/10/24(日) 16:43:13
>>2
そんな当たり前のことを言われても
4デフォルトの名無しさん:2010/10/24(日) 16:52:43
>>3
あ?C言語なら俺に聞けよ
5デフォルトの名無しさん:2010/10/24(日) 17:42:32
質問はないのか!質問は!
6デフォルトの名無しさん:2010/10/24(日) 17:45:06
28歳無職ですが今後の人生が不安です。どうしたらいいですか。ちなみにITの経験は3年程あります。
7デフォルトの名無しさん:2010/10/24(日) 17:47:50

     ||
   ∧||∧
  (  ⌒ ヽ
   ∪  ノ
   ∩∪∩
   (・∀・| | ウヒョー
    |     |
  ⊂⊂____ノ
       彡
8デフォルトの名無しさん:2010/10/24(日) 20:30:33
>>6
マジレスすると、30までになんとか就職しとけ
29と30は1歳しか違わないが、相手からの印象は相当変わる
9デフォルトの名無しさん:2010/10/24(日) 20:33:41
確かに
10デフォルトの名無しさん:2010/10/24(日) 21:02:51
http://codepad.org/BvHHu02a
128bitの unsigned int 型です。
いまのところ足し算しかできません。
だれか気が向いたら書き足してください。
11デフォルトの名無しさん:2010/10/24(日) 22:00:49
符号なしか符号ありなのか、ソース見てるとわからんようになってくるんですけど
12デフォルトの名無しさん:2010/10/24(日) 22:16:18
前スレ>>989
お礼遅れてすいません
ようやく理解できました。ありがとうございます
13デフォルトの名無しさん:2010/10/24(日) 22:20:16
俺には礼も無しか?
14デフォルトの名無しさん:2010/10/24(日) 22:20:58
誰だよ
15デフォルトの名無しさん:2010/10/24(日) 22:24:33
俺にもないのかよ。
16デフォルトの名無しさん:2010/10/24(日) 22:26:59
>>12
なあに、礼なんかいらねえ。困った時はお互い様だ
分からないことがあったら、また気軽に聞いてくれよな
17デフォルトの名無しさん:2010/10/24(日) 22:28:03
>>16
はい。
これからもよろしくお願いしますね
18デフォルトの名無しさん:2010/10/24(日) 22:42:44
がはは
19デフォルトの名無しさん:2010/10/24(日) 23:07:28
>>17
いいからいいから
20デフォルトの名無しさん:2010/10/24(日) 23:12:22
>>10
http://codepad.org/YZvm3LB6
引き算を追加したつもり
21デフォルトの名無しさん:2010/10/24(日) 23:27:58
無限ループがわかりません。
いったん無限ループに入っちゃったら
もう二度とそのマックは使えないってことですか?
22デフォルトの名無しさん:2010/10/24(日) 23:29:30
お前の無限ループで地球がやばい
23デフォルトの名無しさん:2010/10/24(日) 23:54:19
普通にソフト作ったら無限ループだらけ
24デフォルトの名無しさん:2010/10/25(月) 00:05:16
世の中も無限ループってことさ
25デフォルトの名無しさん:2010/10/25(月) 00:05:40
無限ループって怖くね?
26デフォルトの名無しさん:2010/10/25(月) 00:13:10
実際に"無限"にループするのか確認したことはない。
27デフォルトの名無しさん:2010/10/25(月) 00:14:41
しかしながら放置しておくと無限に続くのではないか。何故ならばループから抜け出す条件がないからだ。
28デフォルトの名無しさん:2010/10/25(月) 00:16:32
右上の×ボタンを押しても停止しないように、あるいは再実行するように作らないとな
29デフォルトの名無しさん:2010/10/25(月) 00:18:54
char[256];

fgets(buf, sizeof(buf) / sizeof(*buf), stdin);
sscanf(buf, "%s", p -> tag);

この時ストリームには改行が残るんでしょうか?
30デフォルトの名無しさん:2010/10/25(月) 00:21:43
実際に実行白ボケ
31デフォルトの名無しさん:2010/10/25(月) 00:24:27
ストリームに残ってるかどうかはその後のデータ次第。
ちなみに、バッファには残ってる。
32デフォルトの名無しさん:2010/10/25(月) 00:24:57
実際に実行してみるんですが上手くいかなかったので…
http://codepad.org/SxL4FwBV

実行結果がこれなんですが途中で止まってしまいます。
1:データ追加 0:終了 --> 1
本の名前? :fdad
何の言語の本?(C/Cplus) :C
1:データ追加 0:終了 --> 1
33デフォルトの名無しさん:2010/10/25(月) 00:25:53
まず質問が不完全だな。
34デフォルトの名無しさん:2010/10/25(月) 00:26:07
>>20
http://codepad.org/FD7uHglZ
0クリア追加
右シフト追加
35デフォルトの名無しさん:2010/10/25(月) 00:48:11
>>34
http://codepad.org/YqluUOgC
1bitシフトとand,or,xorを追加したつもり
テストはしてないので...
間違い、気に入らない部分は修正して...
36デフォルトの名無しさん:2010/10/25(月) 04:45:33
>>32
fdad の直後に落ちないのが不思議なプログラム
p->book_name と p->tag が指す領域を確保しなければならない、しかもそれらの指すアドレスが不定とくれば....

p -> tag みたいな書き方は始めて見たよ、統一感を出す為に head . next と書くべきでは?
37デフォルトの名無しさん:2010/10/25(月) 05:38:22
オブジェクト指向ー!
38デフォルトの名無しさん:2010/10/25(月) 07:20:00
>>35
right_shift_1_INT128で、下位桁のMSBをキャリーで書き潰しているのはまずいな
39デフォルトの名無しさん:2010/10/25(月) 07:34:34
ランダウー
40デフォルトの名無しさん:2010/10/25(月) 08:21:46
>>38
http://codepad.org/YSbJq6E4
shift_1が共にたこってたので、修正してみた
41デフォルトの名無しさん:2010/10/25(月) 09:16:28
>>40
http://codepad.org/XRZUjVbu
ついでにmul,divを追加したつもり
合ってるかな?
42デフォルトの名無しさん:2010/10/25(月) 09:39:41
http://codepad.org/cCFTN48N
西暦年を入力させて、オリンピック開催年かどうか判断するプログラムなんですが(厳密には違う)
19行目のvalue = oylmpic(year)と言うのがありますが、olympic関数で値が帰ってきた場合
value = enum定数となるという考え方でいいでしょうか?
あと何か注意点があればご教示お願いします
43デフォルトの名無しさん:2010/10/25(月) 10:51:03
注意点というか・・・
enumをintで扱うのは行儀が悪いと思います
まぁ「お上品なお作法なんかやってられるか」って方針なら別にそれでもいいんですが
http://codepad.org/zlcNp595
44デフォルトの名無しさん:2010/10/25(月) 10:57:01
>>43
むしろ曖昧な知識で適当なこと行ってないかお前
45デフォルトの名無しさん:2010/10/25(月) 11:02:29
適当なこと言ってすいません(´・ω・`)
46デフォルトの名無しさん:2010/10/25(月) 11:06:20
お行儀が悪いってのは本当そのままの意味だったらすまない
Cだと全く問題おこらなくないか?
47デフォルトの名無しさん:2010/10/25(月) 11:53:18
起こらないし何を言ってるのかわからない
48デフォルトの名無しさん:2010/10/25(月) 11:59:43
>>43
そんなことはみんな知ってるし聞いてない。
49デフォルトの名無しさん:2010/10/25(月) 12:00:54
ふう、安心した
50デフォルトの名無しさん:2010/10/25(月) 12:02:36
>>48
デスヨネー(´・ω・`)
他に注意点らしきものなんて何も思いつかない
5142:2010/10/25(月) 12:15:58
enumをintで扱うというのはint olympicでは不適切だと言うことですか?
enum定数を使う場合、関数もenum〜で宣言したほうがいいということですか?
52デフォルトの名無しさん:2010/10/25(月) 12:23:38
ぶっちゃけどっちでもイイヨー
俺は細かいこと気にしすぎラスィ(´・ω・`)
53デフォルトの名無しさん:2010/10/25(月) 12:29:58
>>42
oylmpic() の型の話より、むしろ case 0: の方が気になる、何の為の enum 定義かと小一時間...
54デフォルトの名無しさん:2010/10/25(月) 13:46:32
アホ(´・ω・`)
55デフォルトの名無しさん:2010/10/25(月) 15:05:31
int res;

res = olymic();

switch (res){
   case enum.hoge1:
     処理;
     break;
   case enum.hoge2:
     処理;
     break;
     ・
     ・
     ・
   default:
     処理;
}
56デフォルトの名無しさん:2010/10/25(月) 16:12:24
オリミックw
57デフォルトの名無しさん:2010/10/25(月) 16:21:27
switch (olympic(...)) {
case KOLYMPIC:
...;
break;
case TOLYMPIC:
...;
break;
default:
...;
break;
}
58デフォルトの名無しさん:2010/10/25(月) 16:22:36
#include<stdio.h>
int f(int x,int *y,int *z,int w){
x=x+5;*y=*y+x;*z=*z+*y-x;w=w*x-1;
printf("%d %d %d %d \n",x,*y,*z,w);}
int main(void){
int x,y,*z,w;
x=3;y=x*x-3;z=&y;w=*z;
f(x,&x,z,w);
printf("%d %d %d %d \n",x,y,*z,w);
return 0;}

[実行結果]
8 11 9 47
11 9 9 6

何故2行目の実行結果になるのでしょうか?
59デフォルトの名無しさん:2010/10/25(月) 16:34:46

int a, b, c, d;
scanf("%d%d%d%d", &a, &b, &c, &d);

第4引数dの入力を良略しても
次の処理に移れるようにしたいのですが、
どうすればよいでしょうか。

よろしくお願いします。
60デフォルトの名無しさん:2010/10/25(月) 16:37:42
>>58
11はfの中で *y=*y+x (=3+8) を計算した結果
9はfの中で *z=*z+*y-x (=6+11-8) を計算した結果
6はmainで y=x*x-3 (=3*3-3) を計算した結果
61デフォルトの名無しさん:2010/10/25(月) 16:42:55
>>58
これは厄介だ。
一つ一つ紐解こう。
関数main()においてf()呼び出し時点での各変数の値は以下の通り。
x ⇒ 3, y ⇒ x * x - 3 ⇒ 6, z ⇒ & y, w ⇒ * z ⇒ y ⇒ 6
* z ⇒ y ⇒ 6
関数f()において呼び出された時点の仮引き数は以下の通り。
x ⇒ 3, y ⇒ & (main()の)x, z ⇒ & (main()の)y, w ⇒ 6
* y ⇒ (main()の)x ⇒ 3, * z ⇒ (main()の)y ⇒ 6
f()のprintf()実行時。
x ⇒ x + 5 ⇒ 8, y ⇒ & (main()の)x, z ⇒ & (main()の)y, w ⇒ w * x - 1 ⇒ 47
* y ⇒ (main()の)x + x ⇒ 3 + 8 ⇒ 11, *z ⇒ (main()の)y + (main()の)x - x ⇒ 6 + 11 - 8 ⇒ 9
main()のprintf()実行時。
x ⇒ 11, y ⇒ 9, z ⇒ & y, w ⇒ 6
* z ⇒ y ⇒ 6
以上。
62デフォルトの名無しさん:2010/10/25(月) 16:42:59
>>59の質問がおかしいので
修正します。

int a, b, c, d;
scanf("%d%d%d%d", &a, &b, &c, &d);

4番目の%d(一番右)の入力を良略しても
次の処理に移れるようにしたいのですが、
どうすればよいでしょうか。

よろしくお願いします。
63デフォルトの名無しさん:2010/10/25(月) 16:47:00
>>59
良略というのがなんのことだか知らんが、省略したいということならscanf()で"%d"を使う限り無理。
fgets()で1行入力しておいてsscanf()で回収するのが無難。
64デフォルトの名無しさん:2010/10/25(月) 16:47:34
getsか何かで入力を受け取って自分でabcdに値を入れる処理を書けば良いんじゃね
65デフォルトの名無しさん:2010/10/25(月) 16:53:15
char buf[100];
int a, b, c, d;
if (fgets(buf, sizeof(buf), stdin) == NULL) /* error */;
if (sscanf(buf, "%d%d%d%d", &a, &b, &c, &d) != 4) /* error */;
66デフォルトの名無しさん:2010/10/25(月) 17:02:03
char buf[100];
int a, b, c, d;
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d %d %d %d", &a, &b, &c, &d);
67デフォルトの名無しさん:2010/10/25(月) 17:07:32
int sts;
sts = sscanf("%d%d%d%d", &a, &b, &c, &d);
if (sts == 3) { /* d省略時 */
 d = … /* 省略時の値をここで代入 */
} else if (sts != 4) { /* error */
 /* 入力エラー */
}
68デフォルトの名無しさん:2010/10/25(月) 17:19:45
なんでお前らbuf[100]で取ってんのにa,b,c,dに入れ替えてんの?
buf[100]で取った後、For を100回まわして0を検査でbreak;すりゃ何番目の配列まで使ってるか出るだろ。
69デフォルトの名無しさん:2010/10/25(月) 17:26:29
>>62をよく読め
70デフォルトの名無しさん:2010/10/25(月) 17:29:11
>>62
おまえさん、それは二重質問だよ
「省略された」入力が4番目とどうしてわかる?
3番目を省略しても入力の個数は1つ足りなくなるし、
そもそも省略ではなくエラーかも知れないだろ
71デフォルトの名無しさん:2010/10/25(月) 17:35:52
それを言うなら>>52のソースだと文字の区切りがわからないから何文字取って入力された値とするかがわからんよな。

例:
入力された値、12345

果たしてこれは1,2,3,4,5なのか12,3,45なのか1,23,4,5なのか123,45なのか・・・以降、すべての可能性
72デフォルトの名無しさん:2010/10/25(月) 17:40:29
阿呆がいる。scanf("%d%d%d%d", ...)と書いてもきちんと空白文字で区切られていることが想定されていることさえ知らないらしい。
73デフォルトの名無しさん:2010/10/25(月) 17:43:25
紙の本の上で行数を節約するための

( ){
}

スタイルを実際でもやってるやつってアホだよな。
74デフォルトの名無しさん:2010/10/25(月) 17:45:08
>>73
関数の先頭ならいざ知らず、ifやfor, whileの場合はそれが一つのスタイルとして定着しているからね。
75デフォルトの名無しさん:2010/10/25(月) 17:47:57
数値(自然数)の桁数を返す関数ってありますか?
76デフォルトの名無しさん:2010/10/25(月) 17:48:51
フリースタイルなんだからいいじゃん
ただ人に見せるな
77デフォルトの名無しさん:2010/10/25(月) 17:51:26
>>75
対数で求めるのとは違う方法でか?
78デフォルトの名無しさん:2010/10/25(月) 17:55:52
関数ではない
函数だ
79デフォルトの名無しさん:2010/10/25(月) 18:00:22
>>72
お前に言われたくないだろうな
80デフォルトの名無しさん:2010/10/25(月) 18:01:04
>>75
これじゃだめなの?

int keta ( unsigned int n ){
int k;
for (k=0; n>0; k++,n/=10);
return k;
}
81デフォルトの名無しさん:2010/10/25(月) 18:02:20
浮動小数点の内部表現に大きく依存するだろ
IEEE754なら確か公式があったと思うが
82デフォルトの名無しさん:2010/10/25(月) 18:08:37
函数じゃなくて凾數だからね
83デフォルトの名無しさん:2010/10/25(月) 18:11:36
おいおいそんな常識問題に応えられないのかよ
他人に回答を教えられるレベルじゃないんだから
このスレに来るな
出直してこい
84デフォルトの名無しさん:2010/10/25(月) 18:13:58
うきょ
85デフォルトの名無しさん:2010/10/25(月) 18:15:23
>>75
log10()関数だと処理が重いから、自然数なら>>80で十分
86デフォルトの名無しさん:2010/10/25(月) 18:16:32
はるばる来たぜ函館
87デフォルトの名無しさん:2010/10/25(月) 18:19:08
自然数じゃなくてもいけますが?w
88336:2010/10/25(月) 18:19:56
>>85
アリガd(´・ω・`)
89デフォルトの名無しさん:2010/10/25(月) 18:19:58
ガウス記号ってあったっけ?
90デフォルトの名無しさん:2010/10/25(月) 18:25:15
>>89
[x+[x+[x+[x+1]]]]
91デフォルトの名無しさん:2010/10/25(月) 18:35:35
is kanjiってなんですか
92デフォルトの名無しさん:2010/10/25(月) 18:36:09
は?
93デフォルトの名無しさん:2010/10/25(月) 18:36:52
漢字 is kanji
94デフォルトの名無しさん:2010/10/25(月) 18:41:44
時代はUNICODE
95デフォルトの名無しさん:2010/10/25(月) 18:42:13
幹事でしょ?社会人になるといろいろ大変そうだな
96デフォルトの名無しさん:2010/10/25(月) 18:50:57
iskanji()です わかりやすく説明してもらえますまいか
97デフォルトの名無しさん:2010/10/25(月) 18:52:48
漢字かどうか判定する関数だろ
98デフォルトの名無しさん:2010/10/25(月) 19:04:41
いやちがう
99デフォルトの名無しさん:2010/10/25(月) 19:06:57
ShiftJIS の1バイト目か判断する
100デフォルトの名無しさん:2010/10/25(月) 19:10:36
じゃあ関数名が間違ってる
101デフォルトの名無しさん:2010/10/25(月) 19:13:35
だいたいkanjiってローマ字が使ってある時点で標準関数じゃないってわかるだろ
102デフォルトの名無しさん:2010/10/25(月) 19:37:30
>>71は恥ずかしすぎるだろw
クソワロタ
103デフォルトの名無しさん:2010/10/25(月) 19:38:09
>>97
tekitounikotaerunayo
104デフォルトの名無しさん:2010/10/25(月) 19:48:11
売上1万超えたー
マジ嬉しー^^v
105デフォルトの名無しさん:2010/10/25(月) 20:15:39
誤爆したなら謝らないとな
106デフォルトの名無しさん:2010/10/25(月) 20:45:10
無差別テロだ
誤爆ではない
107デフォルトの名無しさん:2010/10/25(月) 21:14:44
ふ?
108デフォルトの名無しさん:2010/10/25(月) 21:20:19
>>36
mallocで領域確保すれば良いんですかね?
回答ありがとうございました。
109デフォルトの名無しさん:2010/10/25(月) 22:39:55
なぁおまえらforとかifは{}どっちに付ける派?

俺は当然
for(i = 0; i <= 100; i++){
if(num == 0){

}
}

だが。
110デフォルトの名無しさん:2010/10/25(月) 22:43:47
>>109
そんなことより、forと(や、)と{の間にスペースが入ってないのが気持ち悪い。
111デフォルトの名無しさん:2010/10/25(月) 22:44:23
行頭に持ってくる派
112デフォルトの名無しさん:2010/10/25(月) 22:55:41
T-1000 のように変幻自在に客のコピーになる
完全に溶け込むこともまた黒子の技能の1つ
113デフォルトの名無しさん:2010/10/25(月) 23:01:34
int main(void)
{
for (i = 0; i <= 100; i++) {
if (num == 0) {
派。
114デフォルトの名無しさん:2010/10/25(月) 23:10:34
インクリメントは前置き派
++i;
115デフォルトの名無しさん:2010/10/25(月) 23:59:30
イテレータ考えると前置きにした方がいいのに
ついつい後ろ置きにしてしまう派
116デフォルトの名無しさん:2010/10/26(火) 00:01:10
>>115
明日から来なくていいよ
117デフォルトの名無しさん:2010/10/26(火) 00:01:19
int* p;
118デフォルトの名無しさん:2010/10/26(火) 00:09:54
てst
119デフォルトの名無しさん:2010/10/26(火) 00:18:32
int * p派だな
120デフォルトの名無しさん:2010/10/26(火) 00:19:28
i = i + 1
と同じなのは i++ ++i どっち。
121デフォルトの名無しさん:2010/10/26(火) 00:22:16
i++
122デフォルトの名無しさん:2010/10/26(火) 00:25:04
++i
123デフォルトの名無しさん:2010/10/26(火) 00:25:43
+i+
124デフォルトの名無しさん:2010/10/26(火) 00:26:42
+ii
125デフォルトの名無しさん:2010/10/26(火) 00:30:57
i++と++iは違います。i++は、プログラムがその行を実行した後に1増加させます。++iは、プログラムがその行を実行する前に1増加させます。デクリメント演算子も同様です。
126デフォルトの名無しさん:2010/10/26(火) 00:33:30
i--------i
|山崎ハコ |
i--------i
127デフォルトの名無しさん:2010/10/26(火) 00:37:45
こんなに苦しいのなら悲しいのなら……iなどいらぬ!!」
128デフォルトの名無しさん:2010/10/26(火) 00:59:38
うんこ
129デフォルトの名無しさん:2010/10/26(火) 02:19:11
このスレの皆でダイテルのC言語本の解答を作るんだ!
130デフォルトの名無しさん:2010/10/26(火) 03:14:50
ダイテル本って今まで完全スルーしてたわ。普通に本屋に売ってるっけ?ちょっと明日立ち読みしてくるわ
131デフォルトの名無しさん:2010/10/26(火) 05:10:45
i<11とi=<10どっちがはやい?
132デフォルトの名無しさん:2010/10/26(火) 05:19:36
CPUによる
133デフォルトの名無しさん:2010/10/26(火) 05:21:24
最適化されたら一緒
134デフォルトの名無しさん:2010/10/26(火) 05:26:36
>>132
>>133
ほんとかあ?
135デフォルトの名無しさん:2010/10/26(火) 05:29:39
部分的にみたら、変わらない
136デフォルトの名無しさん:2010/10/26(火) 05:39:56
intもdoubleも計算の速さ変わらないよね?
doubleはなるべく使うなって言われたんだけど
137デフォルトの名無しさん:2010/10/26(火) 05:41:14
intの方が速いに決まってるだろ
138デフォルトの名無しさん:2010/10/26(火) 05:51:59
じゃあ
unsignedを付けるか付けないかで変わる?
139デフォルトの名無しさん:2010/10/26(火) 05:52:34
比較対象がいきなり...
140デフォルトの名無しさん:2010/10/26(火) 05:54:29
何も考えてないと前後関係によってはバグる可能性が出てくる
141デフォルトの名無しさん:2010/10/26(火) 06:41:26
>>80
Cでそんな書き方が許されるかボケ
142デフォルトの名無しさん:2010/10/26(火) 06:42:25
>>114がアホすぎる
143デフォルトの名無しさん:2010/10/26(火) 06:57:51
goto使って何が悪い
for抜けるのに便利や
144デフォルトの名無しさん:2010/10/26(火) 07:00:04
gotoを使うコードはgotoとか関係なく既に汚くてどうしようもないから使っても良いよ
145デフォルトの名無しさん:2010/10/26(火) 07:32:07
>>141
コンパイルしてから文句言えや。
146デフォルトの名無しさん:2010/10/26(火) 07:37:23
どこにも許されない要素が見当たらないな
147デフォルトの名無しさん:2010/10/26(火) 07:39:51
むしろ何処にケチつけたか興味
148デフォルトの名無しさん:2010/10/26(火) 07:51:53
おい
10^0が1にならんぞボケ
149デフォルトの名無しさん:2010/10/26(火) 08:00:06
は?
150デフォルトの名無しさん:2010/10/26(火) 08:03:31
>>85
80と類似だが、『ハッカーのたのしみ』に
底10の整数対数を計算する話題が載ってた

http://codepad.org/8AuhhCgN
151デフォルトの名無しさん:2010/10/26(火) 08:06:01
除算は遅いからな
152デフォルトの名無しさん:2010/10/26(火) 08:08:09
そもそも0は自然数に含めるのか
含めるとして0の桁数は数えられるの?とか
153デフォルトの名無しさん:2010/10/26(火) 08:18:25
>>149
a^0=1だろがボケカス
糞コンパイラ死ね
154デフォルトの名無しさん:2010/10/26(火) 08:48:34
つか「i=<10」って書くか?
i<=10じゃねーの?普通。
155デフォルトの名無しさん:2010/10/26(火) 08:54:48
そんなことはみんな知ってるし聞いてない。
156デフォルトの名無しさん:2010/10/26(火) 09:45:58
>>155
うるせぇな、知らないんなら黙ってろよボケ
157デフォルトの名無しさん:2010/10/26(火) 09:51:45
知ってるなら「存在しない書き方」などしないはずだ。

つーかこいつPerl忍者とかいうキチガイじゃねーのか?
ちゃんとコテ付けとけようぜーから。
158デフォルトの名無しさん:2010/10/26(火) 09:58:28
コピペに反応すんな
159デフォルトの名無しさん:2010/10/26(火) 10:20:48
(2^(131)+192)/224は自然数であることを示し
桁数を求めよ
160デフォルトの名無しさん:2010/10/26(火) 11:09:04
38だな
161デフォルトの名無しさん:2010/10/26(火) 11:30:32
『curoff』 関数(?)っていうのが、
ググッても海外のサイトばかりで分かりません
どういう関数なんですか、教えてください
162デフォルトの名無しさん:2010/10/26(火) 11:36:16
>>161
C言語にそんな関数は存在しない。
163デフォルトの名無しさん:2010/10/26(火) 11:42:04
cutoffだろ
164デフォルトの名無しさん:2010/10/26(火) 11:51:06
すいません、自己解決しました

仕様書をみて気づきましたが、
知人が作ったhファイルで定義されていました

ちなみに、カーソルを消す命令でした
ありがとうございました
165デフォルトの名無しさん:2010/10/26(火) 12:09:18
底10の整数対数はこの方法が速いのかな、さっぱりわからんけど
http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog10
166デフォルトの名無しさん:2010/10/26(火) 12:12:19
日本語でおk
167デフォルトの名無しさん:2010/10/26(火) 12:18:46
最高の独自言語コンパイラ作ったwww
まじうんこwww
168デフォルトの名無しさん:2010/10/26(火) 12:21:42
誤爆したwww
169デフォルトの名無しさん:2010/10/26(火) 14:36:04
コピペに反応すんな
1701:2010/10/26(火) 16:10:09
>>130
持ってるけどプログラミング作法も書いてあって良書。
練習問題の解答がないのがあれだけど。
171デフォルトの名無しさん:2010/10/26(火) 17:03:20
ダイテル立ち読んできたけどその他大勢のC入門書とあまり変わらない感じ
C実践プログラミングとかエキスパートCプログラミングとかの方がユニークで良い感じ
172デフォルトの名無しさん:2010/10/26(火) 17:34:52
エキスパートは入門書じゃないだろjk
173デフォルトの名無しさん:2010/10/26(火) 17:43:17
いくら知識溜め込んでも、発揮できなきゃそいつは役立たずなんだよ。
口だけプログラマーは腐るほどいっぱいいるんだ。
174デフォルトの名無しさん:2010/10/26(火) 17:47:26
あ?俺のことか?
175デフォルトの名無しさん:2010/10/26(火) 17:52:57
>>173
俺はお前を許さない
176デフォルトの名無しさん:2010/10/26(火) 18:28:33
>>175
で?
177デフォルトの名無しさん:2010/10/26(火) 18:29:00
>>175
あ?図星だったんですか?
君は俺を許さないんじゃなくてきっと君自身を許してないんだと思うよ^^
178デフォルトの名無しさん:2010/10/26(火) 18:29:54
ネタにマジレスかっこ悪い
179デフォルトの名無しさん:2010/10/26(火) 18:57:47
そんなことはみんな知ってるし聞いてない。
180デフォルトの名無しさん:2010/10/26(火) 19:07:04
つうか昼間っからこんなとこでくだ巻いているようじゃお前らどうせ仕事も友達も金もないだろ。
181デフォルトの名無しさん:2010/10/26(火) 19:20:36
まあ仕事にしてないから役立たずとまでは言わん。
フリーウェアにはお世話になってるし、日曜プログラマーも大いに結構。

つまり、実践しろってことだ。勝手ツールの一つでも作ったほうがマシ。
182デフォルトの名無しさん:2010/10/26(火) 19:25:37
急に弱腰だなw
183デフォルトの名無しさん:2010/10/26(火) 20:02:38
この流れだと、実力も伴ってる俺は口出しづらいな
なんかごめん
184デフォルトの名無しさん:2010/10/26(火) 22:49:48
すでに>>173の書き込みは夕方だ
185デフォルトの名無しさん:2010/10/26(火) 22:58:10
>>184
>夕方だ

ばかじゃね。子供じゃあるまいし。
「夕方だ」笑うw。
「17:43:17」<-どう見てもヒマ人だろ
186デフォルトの名無しさん:2010/10/26(火) 23:00:48
月〜金の学校いってるのはわかったから
187デフォルトの名無しさん:2010/10/26(火) 23:01:22
うん17時はまだ昼間だね
188デフォルトの名無しさん:2010/10/26(火) 23:02:18
大学生だと別に昼間でもおかしくないが
189デフォルトの名無しさん:2010/10/26(火) 23:02:44
ひょひょっ
190デフォルトの名無しさん:2010/10/26(火) 23:03:21
>>188
あ?ここのスレに大卒がいるわけ無いだろ
大学での常識を持ち出すな
191デフォルトの名無しさん:2010/10/26(火) 23:04:35
5時に仕事終わります
192デフォルトの名無しさん:2010/10/26(火) 23:05:20
>>191
どんだけブラックだよ
193デフォルトの名無しさん:2010/10/26(火) 23:05:22
朝も昼も夜もヒマなニートばっかりだもんな。
妄想癖があり自分がスーパーハッカーだと思い込んでる人間のクズども。
194デフォルトの名無しさん:2010/10/26(火) 23:07:41
友達もいない
仕事もない
金もない
彼女もいない
一日PCにかじりついて
C言語の妄想に浸る
人間の屑どもの吹きだまり
195デフォルトの名無しさん:2010/10/26(火) 23:10:09
どうだお前ら自分の将来が不安だろ。
誰もお前らのことなんて必要としてないみたいだぞ。
2ちゃんだけが自分の存在意義を確認する場か?
寂しい人生だなぁ。
まずは仕事にでも就けや。
196デフォルトの名無しさん:2010/10/26(火) 23:13:01
仕事しているなら貴重な時間をこんなところで潰す人って…
197デフォルトの名無しさん:2010/10/26(火) 23:13:31
元気出しなよ〜。
たとえC言語のキャリアが妄想だとしても
何か別の才能を生かす場がきっとそのうち見つかるさ。
198デフォルトの名無しさん:2010/10/26(火) 23:13:39
はぁ.....
199デフォルトの名無しさん:2010/10/26(火) 23:20:15
むしろここって学生ばっかだろ
社会人にもなって入門者用の質問スレにいるって
200デフォルトの名無しさん:2010/10/26(火) 23:21:57
「社会人」て言い方がそもそも学生かニート
201デフォルトの名無しさん:2010/10/26(火) 23:23:49
社会人は自分等のことを社会人とは言わんな
202デフォルトの名無しさん:2010/10/26(火) 23:24:31
>>200
じゃあなんて言うんだ
普通に社会人ですって言ってるが
203デフォルトの名無しさん:2010/10/26(火) 23:26:01
>>202
言わねーよ。
204デフォルトの名無しさん:2010/10/26(火) 23:26:41
俺も使ってるな
205デフォルトの名無しさん:2010/10/26(火) 23:26:50
普通は無職っていうんだぞ
206デフォルトの名無しさん:2010/10/26(火) 23:27:05
>>203
お前はいつもニートですって言ってるから言わないよね
207デフォルトの名無しさん:2010/10/26(火) 23:28:44
サラリーマンとか会社員とかお役人とかお医者とか
まず自分の属性で呼ぶよな。
でひっくるめていうなら大人。
学生とかニートのことは子供。
208デフォルトの名無しさん:2010/10/26(火) 23:31:56
社会人て特殊な場面でしか言わないわな。
学生気分の抜けない奴に「社会人にもなって」とは言うが

誰かにアンタは何?と問われて自分は社会人だとは言わない。
大概、会社員です。とか教師です。とか公務員です、というふうに職を名乗る。
209デフォルトの名無しさん:2010/10/26(火) 23:32:49
なんでスレのやつに自分の仕事教えなきゃならんのだ
ばっかじゃねーの
210デフォルトの名無しさん:2010/10/26(火) 23:32:55
んーおれも社会人ですって答えるときあるな
211デフォルトの名無しさん:2010/10/26(火) 23:33:51
「仕事してんのに忙しくないの?」←いわゆる非学生の台詞。
「社会人なのに忙しくないの?」←いわゆる学生・ニートの台詞。
212デフォルトの名無しさん:2010/10/26(火) 23:35:34
いやいや社会人っていうのは使うだろ
なんで自分のことを表すのに社会人を使うかどうかの議論になってんだ
213デフォルトの名無しさん:2010/10/26(火) 23:36:29
学生のくせに「社会人っていうのは使うだろ」とかワロス
214デフォルトの名無しさん:2010/10/26(火) 23:36:40
>>211
「非学生」より「社会人」のほうが自然に思えるが。
215デフォルトの名無しさん:2010/10/26(火) 23:37:53
勤め人は安易に自分の事を社会人なんて言わないよ。
自分にそう言うだけの社会性があるのかを常に自問してるからね。
子どもにはわからないだろうけど。
216デフォルトの名無しさん:2010/10/26(火) 23:38:49
大きな声をだしてスレタイを読んでみましょう
217デフォルトの名無しさん:2010/10/26(火) 23:39:39
>>213
社会人にもなって〜とか言わないの?
218デフォルトの名無しさん:2010/10/26(火) 23:40:34
学生も自分のこというのに学生とは言わない
219デフォルトの名無しさん:2010/10/26(火) 23:41:00
>>216
「ニートのことなら俺に聞け(キリッ Part72」

72000レスも無駄な文字列積み上げといて「大人」モナにもあったもんじゃねーと。
グダグダ言わずに明日ちゃんとハローワーク行けよ。
220デフォルトの名無しさん:2010/10/26(火) 23:42:03
>>215
社会人にもなって〜とか言わないの?
221デフォルトの名無しさん:2010/10/26(火) 23:42:09
>>215
それはわかんねーなw
お前は馬鹿だから馬鹿って名乗ることを認めるよ
222デフォルトの名無しさん:2010/10/26(火) 23:42:31
>>218
ようクズ人間!
223デフォルトの名無しさん:2010/10/26(火) 23:43:35
>>221
わからねーならレスしなくていいからすっこんでろよクズ。
224デフォルトの名無しさん:2010/10/26(火) 23:44:22
学生は自分を学生というし
生活費を稼ぐ仕事をしている者は社会人という
職にあぶれている者は無職という

自意識がどうのではなく相手にわかりやすく表現する配慮だよ
225デフォルトの名無しさん:2010/10/26(火) 23:45:07
>>220
スレ立てるまでもない質問はここで 108匹目
http://hibari.2ch.net/test/read.cgi/tech/1287477677/
226デフォルトの名無しさん:2010/10/26(火) 23:46:09
>>224
お前の存在自体がわかりにくいのにな。
227デフォルトの名無しさん:2010/10/26(火) 23:46:26
>>225
なんていうの?
228デフォルトの名無しさん:2010/10/26(火) 23:49:24
今は生涯学習の時代だから
229デフォルトの名無しさん:2010/10/26(火) 23:49:47
>>227
>なんていうの?

↑こういうくだらない質問はこのスレの範疇じゃないな。
230デフォルトの名無しさん:2010/10/26(火) 23:50:40
>>229
いやお前に聞いてんだけど?
231デフォルトの名無しさん:2010/10/26(火) 23:51:04
>>224
>職にあぶれている者は無職という

というより無色だな。
消えかかってるぞ。
232デフォルトの名無しさん:2010/10/26(火) 23:51:46
>>230
アホか。そんなつまらんこと知りたければググれカス。
233デフォルトの名無しさん:2010/10/26(火) 23:54:14
>>232
いやお前がどうかって聞いてんだけど?
社会人にもなって〜とかじゃなくてなんて言ってるの?
234デフォルトの名無しさん:2010/10/26(火) 23:55:48
社会人にもなってそんなことも知らんのか
235デフォルトの名無しさん:2010/10/26(火) 23:55:58
社会人は社会人って言わないって新説が誕生した。
236デフォルトの名無しさん:2010/10/26(火) 23:56:59
だから学生も学生って言わないって
237デフォルトの名無しさん:2010/10/26(火) 23:56:59
>>233
自演乙。つまんねーよ。
238デフォルトの名無しさん:2010/10/26(火) 23:58:00
>>237

なんて言ってるの?
239デフォルトの名無しさん:2010/10/26(火) 23:59:03
なんだ自作自演か。
ま、そんなことだろうと思ったよ。
240デフォルトの名無しさん:2010/10/26(火) 23:59:38
社会人としての常識
241デフォルトの名無しさん:2010/10/27(水) 00:00:20
高級言語を扱う低級人間
242デフォルトの名無しさん:2010/10/27(水) 00:02:13
>>239
いやお前だろ?
自演ってことにして終わらそうとするな
243デフォルトの名無しさん:2010/10/27(水) 00:03:13
>>242
どっちでもいいよ。
どちらにせよ相手にしてるお前も同類。
244デフォルトの名無しさん:2010/10/27(水) 00:04:08
>>243
いやお前だろ?
245デフォルトの名無しさん:2010/10/27(水) 00:06:42
いや俺だから
246デフォルトの名無しさん:2010/10/27(水) 00:07:39
>>244,245

なにこのヒト
おかしいのと違う?
247デフォルトの名無しさん:2010/10/27(水) 00:08:23
>>246
お前は違うな
248デフォルトの名無しさん:2010/10/27(水) 00:08:39
>>246
俺だろ俺俺はおかしい
249デフォルトの名無しさん:2010/10/27(水) 00:13:13
学生で起業してるのは、、、学生か。
250デフォルトの名無しさん:2010/10/27(水) 00:14:56
起業家は自分のこと起業家とは言わない
251デフォルトの名無しさん:2010/10/27(水) 00:15:11
しまいにゃ独り言かよ
252デフォルトの名無しさん:2010/10/27(水) 00:16:31
サッちゃんは自分のとこをサチ子とは呼ばない
253デフォルトの名無しさん:2010/10/27(水) 00:17:37
サセ子
254デフォルトの名無しさん:2010/10/27(水) 00:22:24
カリスマ経営者っていうのかな?
255デフォルトの名無しさん:2010/10/27(水) 00:22:49
結局、学生かどうかの判定をするなら
話題について来れるかでふるいにかけるのが一番てことだな
256デフォルトの名無しさん:2010/10/27(水) 00:25:28
リーナスは学生の時にLinux作ったしな
257デフォルトの名無しさん:2010/10/27(水) 00:27:03
ほりえもんも学生の時IT企業作ったしな
258デフォルトの名無しさん:2010/10/27(水) 00:27:51
ビル・ゲイツは学生のときにインタプリタのBASIC作ったしな
259デフォルトの名無しさん:2010/10/27(水) 00:29:56
俺も学生の時アルバイトしてたしな
260デフォルトの名無しさん:2010/10/27(水) 00:35:02
ニートですが何か?
261デフォルトの名無しさん:2010/10/27(水) 00:35:32
ニートは勝ち組
262デフォルトの名無しさん:2010/10/27(水) 00:36:43
俺も学生の時論文が雑誌に乗った同級生がいたしな
263デフォルトの名無しさん:2010/10/27(水) 00:38:34
友達の友達がアルカイダ
そんなわけ(ry
264デフォルトの名無しさん:2010/10/27(水) 00:39:53
7人介せばだれとでも知り合いになれるんだっけ?
誰かプログラムつくって検証して
265デフォルトの名無しさん:2010/10/27(水) 00:40:51
>>263
             ∧..∧ 
            (´・ω・`)  あるかいな!
           cく_>ycく__) 
           (___,,_,,___,,_)  ∬
         彡※※※※ミ  旦
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   \   ドッ!!     /  \ ワハハ! /
     \          /      \    ∞
   l|||||||||||||| ∩,,∩ ∩,,∩  ∩,,∩ ミ∩ハ∩彡
   (,    )(,,    )    ,,)(    )(    )
266デフォルトの名無しさん:2010/10/27(水) 00:42:35
関数化について質問します
エラーが起きるのですが、どこが悪いのかわかりません
教えてください、お願いします

#include<stdio.h>

void text ( char );

void main(void)
{
  char mojit;

  text(moji);
}

void text ( char Wait )
{
printf("文字を表示",moji);
}
267デフォルトの名無しさん:2010/10/27(水) 00:43:21
すいません

void text ( char moji )
{
printf("文字を表示",moji);
}
268デフォルトの名無しさん:2010/10/27(水) 00:44:28
C++はわからない
269デフォルトの名無しさん:2010/10/27(水) 00:45:01
>>266
>どこが悪いのかわかりません

お前の頭。(それと顔)
270デフォルトの名無しさん:2010/10/27(水) 00:45:45
> printf("文字を表示",moji);
なにこれ?
271デフォルトの名無しさん:2010/10/27(水) 00:46:30
>>266
>char mojit;
>text(moji);
↑変数名が違う

>printf("文字を表示",moji);
↑%cを入れろ
272デフォルトの名無しさん:2010/10/27(水) 00:47:00
釣りにしてもヘタクソだが相手にしたら負け
273デフォルトの名無しさん:2010/10/27(水) 00:47:26
waitどこで使うん?
mojiをどこで使ってるん?
274デフォルトの名無しさん:2010/10/27(水) 00:58:46
どんだけ寂しがりやなんだよw
275デフォルトの名無しさん:2010/10/27(水) 01:15:45
void main → int main
276デフォルトの名無しさん:2010/10/27(水) 01:19:01
>>266
charのmojitに何も代入されてないな
277デフォルトの名無しさん:2010/10/27(水) 07:27:41
俺の友達はAKBのオーディション受けたからな

あと俺の友達はカツーンの亀梨とメールしてるからな

俺の友達の友達はギャングだしな

え?俺?・・・

・・・
278デフォルトの名無しさん:2010/10/27(水) 09:47:32
アンチウイルスソフト作りたいです
アドバイスください
279デフォルトの名無しさん:2010/10/27(水) 09:53:48
OS自作したらウィルスには感染しないよ
280デフォルトの名無しさん:2010/10/27(水) 15:51:57
ふっほっ
281デフォルトの名無しさん:2010/10/27(水) 16:02:01
ふっふっ
282デフォルトの名無しさん:2010/10/27(水) 16:12:10
>>277
アルカイダだろ
283デフォルトの名無しさん:2010/10/27(水) 17:10:56
はっほっひっ
284デフォルトの名無しさん:2010/10/27(水) 17:48:55
ここが噂の基地外が集まるスレですか
285デフォルトの名無しさん:2010/10/27(水) 18:38:26
一人増えたw
286デフォルトの名無しさん:2010/10/27(水) 20:16:16
推薦図書スレほどじゃねーな。
287デフォルトの名無しさん:2010/10/27(水) 20:57:41
ロベール教団だからな
288デフォルトの名無しさん:2010/10/27(水) 22:41:32
C++にはstd::stringがありますが、C言語には文字型は無いのですか?
289デフォルトの名無しさん:2010/10/27(水) 22:45:10
はい
290デフォルトの名無しさん:2010/10/27(水) 22:50:14
いいえ
291デフォルトの名無しさん:2010/10/27(水) 22:53:38
charを文字型と呼ぶとちゃんと定められています
文字列型は無いがな
292デフォルトの名無しさん:2010/10/27(水) 22:55:47
>>>289-290
ありがとうございました
293デフォルトの名無しさん:2010/10/27(水) 23:53:21
もうMFCとboostなしじゃ生きられない。
好きだったけどさよなら。
効率を重視しないといけないので、お前とはやっていけないんだ。
中年プログラマと仲良くな。
今までの資産のある彼らとなら、お前は後50年は戦える。
達者でな。
294デフォルトの名無しさん:2010/10/28(木) 01:25:14
iPhoneはObjective-C
マッカーじゃないとな
295デフォルトの名無しさん:2010/10/28(木) 01:30:59
C と Smalltalk をなりふりかまわず実装多重継承してできてきたアレ
296デフォルトの名無しさん:2010/10/28(木) 01:58:42
CとC++で気をつけなければならない仕様ってなんですか?
297デフォルトの名無しさん:2010/10/28(木) 02:02:09
>>296
お前が今まで主に何の言語を触っていたかによって全然アドバイスが違う
298デフォルトの名無しさん:2010/10/28(木) 02:09:48
Bです
299デフォルトの名無しさん:2010/10/28(木) 02:13:52
B?本当か?今の時代にそんな奴がいるわけないだろJK
300デフォルトの名無しさん:2010/10/28(木) 02:26:42
俺はCまで済ませた
301デフォルトの名無しさん:2010/10/28(木) 02:37:54
じゃあ俺はAからだな
302デフォルトの名無しさん:2010/10/28(木) 02:49:02
マジレスするとNewBから。
303デフォルトの名無しさん:2010/10/28(木) 02:49:55
>>301
童貞乙
304デフォルトの名無しさん:2010/10/28(木) 02:51:45
>>303
>>298>>302にも言えよ!
305デフォルトの名無しさん:2010/10/28(木) 02:53:50
>>304
そうかっかすんなってw
童貞乙
306デフォルトの名無しさん:2010/10/28(木) 02:56:48
じゃあDは何なんだよ
307デフォルトの名無しさん:2010/10/28(木) 04:02:41
:-D
308デフォルトの名無しさん:2010/10/28(木) 08:39:38

すみません。
ここでいいのか分からないけれど質問させてください。

stdoutのバッファ容量ってそのPCに積んでいるメモリ容量に左右されるんでしょうか?

いまCで書いたプロセスと別言語で書いたプロセスをつなぐために
標準出力を使用してバイナリデータを送っているのですが、
テストしてみたところ、stdoutから送り出せるバッファ容量の最大がPCによって違うように見受けられます。
そのせいでCから送り出したデータを、受け取る側で即座に裁ききれない場合に
謎のゴミデータが入ってきてしまっているようなのです。

こういう場合にstodoutの最大容量を変更する方法って何かありますか?
当方はWindowsXPを使用しています。

よろしくお願いします。

309デフォルトの名無しさん:2010/10/28(木) 08:45:48
パイプに謎データが入ることなんてない
310デフォルトの名無しさん:2010/10/28(木) 09:17:08
ノンブロッキングモードで使っていて、E_WOULDBLOCKが返ってきてるのを見逃しているとか。
311デフォルトの名無しさん:2010/10/28(木) 10:07:39
上地のCMうけるー
312デフォルトの名無しさん:2010/10/28(木) 11:15:30
readの戻り値みてないだけちゃうんか
313デフォルトの名無しさん:2010/10/28(木) 11:38:53
それだ!
314デフォルトの名無しさん:2010/10/28(木) 11:56:25
>>308
入出力バッファのサイズは規格で決められていない。つまり環境依存。
変更したいならsetvbuf()を使え。
ただし既に言われてるように、問題はおそらくバッファサイズと無関係だろう。
315デフォルトの名無しさん:2010/10/28(木) 12:04:26
http://ideone.com/UoRMX
人数分の名前、年齢、性別を入力させて(人数は何人でも)、それを表示していくと言うプログラムなんですが
関数にうまく値を渡せていないみたいです。なぜエラーが出るのかよくわかってないです……
ご教示お願いします

316デフォルトの名無しさん:2010/10/28(木) 12:16:36
>>315
とりあえずmallocのsizeofがおかしい
317デフォルトの名無しさん:2010/10/28(木) 12:20:08
>>315
mainの
data = (value*)malloc(sizeof(value*) * 10);

data = (value*)malloc(sizeof(value) * 10);

input


iが0で初期化されてないからおかしい

scanf("%d",data[i].age);

scanf("%d",&data[i].age);

そんな方法でメモリ拡大しちゃだめ
318デフォルトの名無しさん:2010/10/28(木) 12:27:11
mallocって戻り値書かなくても良いのに。
319デフォルトの名無しさん:2010/10/28(木) 12:35:05
<<309 <<312
戻り値のサイズはSTARTとENDのコマンド仕込んで確認してるんですが、
メモリが少ないマシンだとSTARTとENDの間が不定なサイズが返ってくるんですよね...。

<<310 <<314
setvbuf、こんな関数があったとは。
ちょっとsetvbuf使ってやってみたいと思います。
ありがとうございます!
320デフォルトの名無しさん:2010/10/28(木) 14:03:00
>>318
>>319
意味不明
321デフォルトの名無しさん:2010/10/28(木) 16:28:07
ほっふっ
322デフォルトの名無しさん:2010/10/28(木) 16:42:25
>>315
俺も突っ込んで良い?

input () で確保した構造体配列が溢れたときに realloc() してるけど、同じサイズで realloc() してるから意味無いよ
そして入力した個数を main() に返してないから output() では何個表示すべきか判らないから3個表示してる
採点するとかなり厳しい結果になりそうだね

普通に考えると count や size も main() が知るべきだから input( value* data, int* pcount, int* psize ) とするべきだろうね
size に関しては main() が知る必要は無いから input() に管理を任せても良いが、その場合は初回の malloc() も input() で
行なうべきだろう
当然 output( value* data, int count ) になるね

余談だが、C++使えるんなら value の管理クラスを作成するのが一番望ましい
class value_array {
private:
 value* data;
 int size;
 int count;
public:
 value_array();
 ~value_array();
 void add( value* indata );
 int getCount( void );
 const value* getData( int index );
};
こんな感じで良いと思う


323デフォルトの名無しさん:2010/10/28(木) 19:03:56
>>315
構文エラーと型が違うって意味の
コンパイルエラーになってる理由が分からないんだよね?
324デフォルトの名無しさん:2010/10/28(木) 19:57:44
「ABC」と書かれているFileをリードする時に
fseekを使わないで直接「C」「B」「A」の順番で読み込む方法(関数)ってありますか?
325デフォルトの名無しさん:2010/10/28(木) 20:16:35
>>318
mallocをキャストする意味がないって意味?
326デフォルトの名無しさん:2010/10/28(木) 21:04:05
>>324
FileMappingやmmapを使うとか?条件に合うのかしらんけど
327デフォルトの名無しさん:2010/10/28(木) 21:06:45
恐らくFileはブロックデバイスなんだろうけど、
ブロックデバイスはブロック単位で読み出すから、ブロック内の読み出し順を制御するのはOS上からは難しいだろうね。
328デフォルトの名無しさん:2010/10/28(木) 21:16:54
ふっふっ
329315:2010/10/29(金) 06:37:22
>>323さんの言うとおり、なぜエラーになるのかわからなかったんです
一回完成したんですけど、入力された人数分表示されないんで(3人目で止まる)
なので>>322さんのを参考にまた書き換えてみたんですが、これまた上手くいかなくて……
http://ideone.com/6esth
どうすればいいでしょうか?
330デフォルトの名無しさん:2010/10/29(金) 07:48:21
>>329
突っ込んでどうなるレベルじゃないな
コンパイルエラーくらいは潰してから人に聞いた方が君の為になると思うよ

http://ideone.com/CiTYy
331329:2010/10/29(金) 08:14:15
>>330
関数へのポインタ変数の渡し型がわかっていませんでした。
次からはコンパイルエラーは自分で直すようにします
ありがとうございます
332デフォルトの名無しさん:2010/10/29(金) 11:33:35
5桁の自然数でどの桁の数字も異なる自然数かどうかの判定ってどうすればいいですか?
あるいは最初からどの桁も異なる5桁の自然数を作れますか?
333デフォルトの名無しさん:2010/10/29(金) 11:56:12
ひとつのプログラムでコンソールを二つ同時に開くにはどうすれば良いんでしょうか?
334デフォルトの名無しさん:2010/10/29(金) 11:58:57
>>333
コンソールは、 1つのプロセスにつき1つだけ割り当てることができます。
このため、 プロセスがすでにコンソールを持っている場合には、 AllocConsole関数は失敗します。
335デフォルトの名無しさん:2010/10/29(金) 12:05:22
>>332
文字列にして桁同士を比較するんじゃだめなの?10回の比較で終わるよ

>>333
環境依存な話になるけど windows だったらスレッド作って system() でドス窓を起動すれば良いんじゃね?
336デフォルトの名無しさん:2010/10/29(金) 12:09:11
このスレレベル低すぎー
337デフォルトの名無しさん:2010/10/29(金) 14:51:57
おまえのいう「プログラム」の単位によるな。
338デフォルトの名無しさん:2010/10/29(金) 17:00:37
くっぴっ
339デフォルトの名無しさん:2010/10/29(金) 17:16:16
>>336
初心者スレに何期待してんの
340デフォルトの名無しさん:2010/10/29(金) 18:51:21
>>336
全部の質問に答えてから言えよ。カス。
341デフォルトの名無しさん:2010/10/29(金) 19:22:08
>>340
解答している人に言ったんですー
342デフォルトの名無しさん:2010/10/29(金) 19:58:33
回答じゃね?
343デフォルトの名無しさん:2010/10/29(金) 20:00:43
お前には重箱の隅という渾名をやろう
344デフォルトの名無しさん:2010/10/29(金) 20:23:40
それだと突つかれる側のことだろ。不適切。
345デフォルトの名無しさん:2010/10/29(金) 20:40:05
>>332
判定は10で割った商と余りを使って5桁分の数字を取り出しつつ、
出現した数字をビット配列にでも入れて重複判定すればOK。
生成は5桁の数字と1対1で対応するから9x9x8x7x6=27126とおりで
0-27125の数字を乱数で生成、実際の数字は表示するときに計算すればOK。
346デフォルトの名無しさん:2010/10/29(金) 21:30:13
>>329
プログラムが手に負えなくなったら、オーソドックスなアプローチですが、プログラムをすご〜く単純な部品に分けてみてはどうでしょうか?

たとえば、『名前、年齢、性別』を記録したり表示したりする”モノ”を、たとえば”プロフィールのカード”と考えてみました。
このプロフィールカードに対して行える命令としては、”記録、表示、カード作る、カード消す”の4つだけです。すごく単純な機能だけに絞ってみました。

(『カード全体を見て、新たに新規カードを増やす』のような、全体の処理は、profile.cは行いません。 profile.c が行うのは、あくまで一枚の PROFILE_CARD への読み書き・生成削除、だけです)


profile.h
http://codepad.org/ziwRlgzl

profile.c
http://codepad.org/BB6Js1aD

profile_test.c
http://codepad.org/HRs4gT4b


この3つのファイルをコンパイル・リンクして、実行ファイルを作ります。
gcc -o aaa profile_test.c profile.c

aaa という名前の実行ファイルが作られます。



カード全体を増やしたり減らしたりする処理は、profile.c とは別のプログラムを書いて、そこに処理を任せるように役割分担をハッキリさせれば、
それぞれの処理も単純を保てるだろうから、わかり易くて書き易いと思います。(バグの場所も特定しやすくなるかも??)
347デフォルトの名無しさん:2010/10/29(金) 21:40:46
ほっほつ
348デフォルトの名無しさん:2010/10/30(土) 00:45:44
double x=10.5;
printf("%.lf",x);
の結果が11になるんだけど四捨五入してるの?
あと10.50000...を必要小数点だけ表示するにはどうするの?
349デフォルトの名無しさん:2010/10/30(土) 00:49:29
>>348
必要な桁数なんてお前以外には分からないだろ
350デフォルトの名無しさん:2010/10/30(土) 00:49:45
必要小数点って日本語でどういう意味?
351デフォルトの名無しさん:2010/10/30(土) 00:59:52
俺が今作った
>>349
でも%.2lfとかでやると整数部は必要な桁数表示になるよ?
てかprintfだと%f %lfどっち使うのが正しいんだ
352デフォルトの名無しさん:2010/10/30(土) 01:05:47
>>348
double x = 10.5;
int hituyou = 5;
printf("%.*lf", hituyou, x);
353デフォルトの名無しさん:2010/10/30(土) 01:43:19
エキスパートCって入門書とポインタ完全制覇読んだぐらいでもおk?
354デフォルトの名無しさん:2010/10/30(土) 01:48:08
おk
読んでなくても問題ない
355デフォルトの名無しさん:2010/10/30(土) 02:00:31
>>351
C89なら%fが正しい、%lfの場合の動作は未定義、
C99ならどっちでもおk。


可変長引数のfloatはdoubleに格上げされるから、
floatとdoubleを区別をする必要はないからね。
356デフォルトの名無しさん:2010/10/30(土) 03:59:37
>>354
早速頼んで見る。
どうもありがとう。
357デフォルトの名無しさん:2010/10/30(土) 05:37:20
Kernighan 先生のプログラミング作法は必携の書だから買っとけ。
358デフォルトの名無しさん:2010/10/30(土) 10:35:46
いまだに人類の月面着陸が捏造だと信じているやつがいるのに驚き
359デフォルトの名無しさん:2010/10/30(土) 15:33:32
シグナルハンドラを作っているのですが、
ハンドラ内では、新しいシグナルが来たときのことを
想定して書かなければいけないのでしょうか?(排他処理は別として)
それとも、シグナル毎にスタックが積まれるのでしょうか?
要はシグナルのとりこぼしが無いように書きたいです
環境はVMware 2.5.3 + OpenBSD 4.6です
360デフォルトの名無しさん:2010/10/30(土) 16:33:49
>>359
その通り
処理中に次のシグナルが来たら、別タスクでハンドラが同時進行することになる
普通はハンドラで自前のスタックに積んですぐ終了、スタックの処理は別タスクにする
361デフォルトの名無しさん:2010/10/30(土) 16:51:58
>>359
BSDだと、シグナルハンドラが呼ばれたところでそのシグナルはマスクされ、
シグナルハンドラが終わるまでに同じシグナルが来てもペンディングされる、と思う
362デフォルトの名無しさん:2010/10/30(土) 17:13:43
>>360>>361
なるほど、BSDだけちょっと違うのですか
いずれにしても、シグナルハンドラをさっさと終了するように
書いた方が良いということですね
霧が晴れたようです
ありがとうございました
363デフォルトの名無しさん:2010/10/30(土) 22:22:04
>>357
どんな本かは分からないけど、どうもありがとう。
364デフォルトの名無しさん:2010/10/31(日) 00:22:09
i++より++iの方が速いのはなぜ?
365デフォルトの名無しさん:2010/10/31(日) 00:25:40
>>364
C言語の範囲では変わらないんじゃね
366デフォルトの名無しさん:2010/10/31(日) 00:31:12
>>364
そら式を評価する前に実行されるからだろ常識
367デフォルトの名無しさん:2010/10/31(日) 00:34:42
#include<stdio.h>

main()
{
int k[12]=
{1,2,3,4,5,6,7,8,9,10,11,12};

int day
day=k[11];

printf("%d",day);

}


配列の勉強してるんだがエラーがでてしまう

Output:
1
2
3
4
5
In function 'main':
Line 9: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'day'
Line 9: error: 'day' undeclared (first use in this function)
Line 9: error: (Each undeclared identifier is reported only once
Line 9: error: for each function it appears in.)

直し方おしえてください
368デフォルトの名無しさん:2010/10/31(日) 00:37:20
int main(void)
int day;
369デフォルトの名無しさん:2010/10/31(日) 00:37:35
まずセミコロンちゃんがないねえ
370デフォルトの名無しさん:2010/10/31(日) 00:40:14
void mainも許せないが何も書かないのはもっと許さない
371デフォルトの名無しさん:2010/10/31(日) 00:43:21
#include<stdio.h>

int main(void)
{
int k[12]=
{1,2,3,4,5,6,7,8,9,10,11,12};

int day;
day=k[11];

printf("%d",day);

return 0;
}
372デフォルトの名無しさん:2010/10/31(日) 00:56:44
char *consumes(char *s, int n, ...){
va_list list;
int i;

va_start(list, n);

for(i = 0; i < n; i++){
s = (*va_arg(list, char (*)(char*)))(s);

if(s == NULL){
return NULL;
}
}

va_end(list);

return s;
}

ワーニングを吐きます.助けてください.
373デフォルトの名無しさん:2010/10/31(日) 00:57:34
ひとつ、知っておくと良いことを教えてあげる。

Cコンパイラのエラーメッセージは、解析不能の箇所が現れた行番号を表示する。
そして、C言語プログラム自体には、行による区切りは意味を持たないため
本当にエラーメッセージが表示している行に問題がある場合のほかに
エラーメッセージの行の直前の行に問題がある場合がある。
(実際には、それ以外の箇所の場合もある)

>>367の場合、エラーメッセージは9行目にエラーがあると言ってるが、
実際には、8行目の最後にエラーの原因がある。
374デフォルトの名無しさん:2010/10/31(日) 00:59:21
そんなことはみんな知ってるし訊いてない。
375デフォルトの名無しさん:2010/10/31(日) 01:00:16
まさかここまでこのコピペが当てはまるとはな
376デフォルトの名無しさん:2010/10/31(日) 01:02:13
ちゃんと合ってて逆にコピペの意味をなしてないな
377デフォルトの名無しさん:2010/10/31(日) 01:05:54
>>374-376

>>367に教えてるんでしょ?
>>367が知ってるとは思えないけど?

あなたが知っているかどうかなんて、関係ないんじゃないかな。
378デフォルトの名無しさん:2010/10/31(日) 01:09:29
そんなことはみんな知ってるし聞いてない
379デフォルトの名無しさん:2010/10/31(日) 01:09:38
×ワーニング
○ウォーニング
380デフォルトの名無しさん:2010/10/31(日) 01:12:22
>>367もそんなことは聞いてない
381デフォルトの名無しさん:2010/10/31(日) 01:12:51
ウヮァーナン
382デフォルトの名無しさん:2010/10/31(日) 01:15:29
なにこのいかにも週末な流れ
383デフォルトの名無しさん:2010/10/31(日) 01:15:56
どんな流れなのか詳しく
384デフォルトの名無しさん:2010/10/31(日) 01:16:39
>>379
異なる自然言語間の不完全な写像に○も×もねーよ
385デフォルトの名無しさん:2010/10/31(日) 01:17:17
うぉーにんぐ
わーにんぐ
386デフォルトの名無しさん:2010/10/31(日) 01:20:25
×ワーニング
○ウォーニング
387デフォルトの名無しさん:2010/10/31(日) 01:22:03
ウィニング
388デフォルトの名無しさん:2010/10/31(日) 01:22:07
確かにいかにも終末的な流れだな
389デフォルトの名無しさん:2010/10/31(日) 01:22:52
ウォンテッド
390デフォルトの名無しさん:2010/10/31(日) 01:26:24
質問なんですがファイルの中の単語だけを抽出するプログラムを作りたいのですが空白の部分はどうしたら良いんでしょうか?
391デフォルトの名無しさん:2010/10/31(日) 01:26:59
perl使う
392デフォルトの名無しさん:2010/10/31(日) 01:27:08
いまだにワーニングとかウーニングとか言ってるやついるの。
393デフォルトの名無しさん:2010/10/31(日) 01:27:08
飛ばす
394デフォルトの名無しさん:2010/10/31(日) 01:28:04
wantedはワンテッドでもウォンテッドでもいいし
395390:2010/10/31(日) 01:28:28
マジレスなんでよろしくお願いします。
396デフォルトの名無しさん:2010/10/31(日) 01:29:42
>>395
空白以外の部分はどう読み込んでるの?
397デフォルトの名無しさん:2010/10/31(日) 01:30:24
ウォアニングだろ
398デフォルトの名無しさん:2010/10/31(日) 01:30:34
>>390
単語の定義は?
399デフォルトの名無しさん:2010/10/31(日) 01:31:01
>>390
普通に読んで
0x20と0x8140と\tを読み飛ばせばいいじゃない
400デフォルトの名無しさん:2010/10/31(日) 01:32:43
>>390
そういうのをどうするか決めるのが設計だろ。
自分で決めれるなら好きにすればいい。
401デフォルトの名無しさん:2010/10/31(日) 01:35:54
'('とか')'とか','とか'-'とかどうするの
402デフォルトの名無しさん:2010/10/31(日) 01:39:25
>>401
質問者に質問しているのか?お前が質問者なのか?
403デフォルトの名無しさん:2010/10/31(日) 01:40:05
>>401
アルファベットとそれ以外で判断すればいいんじゃね。
404390:2010/10/31(日) 01:40:54
getc(fp)で読み込んでisalnumで判断するようにします。分かりにくい質問でしたが回答ありがとうございました。
405デフォルトの名無しさん:2010/10/31(日) 01:41:12
ctype.hにいろいろあるでしょ
406デフォルトの名無しさん:2010/10/31(日) 01:41:19
パールつこうた
407デフォルトの名無しさん:2010/10/31(日) 01:42:28
unixのコマンドつこうた
408デフォルトの名無しさん:2010/10/31(日) 01:42:46
lolってなに?
409デフォルトの名無しさん:2010/10/31(日) 01:43:14
万歳
410デフォルトの名無しさん:2010/10/31(日) 01:43:33
エロス
411デフォルトの名無しさん:2010/10/31(日) 01:45:25
それはそうと今日のダイハードはお前ら凄い活躍だったな。
412デフォルトの名無しさん:2010/10/31(日) 01:49:39
俺はスパハカだからな。
あれぐらい余裕だね
413デフォルトの名無しさん:2010/10/31(日) 01:57:05
そんなことはみんな知ってるし聞いてない
414デフォルトの名無しさん:2010/10/31(日) 01:59:04
>>372をお願いします
415デフォルトの名無しさん:2010/10/31(日) 02:01:49
なにやってんの?コメントかスタブ付け足してよ
416デフォルトの名無しさん:2010/10/31(日) 02:01:52
×ワーニング
○ウォーニング
417デフォルトの名無しさん:2010/10/31(日) 02:02:32
ウォーニングも書けよ
418デフォルトの名無しさん:2010/10/31(日) 02:03:49
×ウォーニング
○ウォーキング
419デフォルトの名無しさん:2010/10/31(日) 02:03:55
ワェーニング
420デフォルトの名無しさん:2010/10/31(日) 02:08:17
CとC++のenumの違いは?
421デフォルトの名無しさん:2010/10/31(日) 02:11:28
ガウォーク
422デフォルトの名無しさん:2010/10/31(日) 02:11:41
レイプぐらいでガタガタ抜かすな
犯すぞコラ
423デフォルトの名無しさん:2010/10/31(日) 02:13:13
誤爆した
424デフォルトの名無しさん:2010/10/31(日) 02:13:33
最悪の誤爆だな
425デフォルトの名無しさん:2010/10/31(日) 02:14:11
通報しますた
426デフォルトの名無しさん:2010/10/31(日) 02:14:40
うむ、よくやった
427デフォルトの名無しさん:2010/10/31(日) 05:09:13
変数名の中に変数名使うにはどうしたらいいですか?
428デフォルトの名無しさん:2010/10/31(日) 05:11:22
構造体の話?
429デフォルトの名無しさん:2010/10/31(日) 05:59:01
平方数かどうか判定するにはどうしたらいいですか?
430デフォルトの名無しさん:2010/10/31(日) 05:59:38
>>372
可変引数から関数ポインタを取得しようとしてるのかな?
va_arg() はマクロだから関数ポインタの様な途中に変数名が入る様な特殊な型表記に対応してないと思うよ
そもそも、char (*)(char*) この表記が type として許されるのかも疑問だけど

・横着しないで typedef で関数ポインタ型を定義する
・va_arg() の戻り値をいったんは変数に格納してから使用する(こっちは意味無いかもしれない)

この2点を直せば動かないかなぁ

蛇足だが、
typedef char (*MY_FUNC)( char* );
君のソースからするとこうなると思うけど、実行結果を s に代入してるから
typedef *char (*MY_FUNC)( char* );
が正しいと思うんだけどどうかな?
431デフォルトの名無しさん:2010/10/31(日) 08:36:39
>>429 sqrt(x)を四捨五入して二乗して元に戻るかじゃダメなの?
432デフォルトの名無しさん:2010/10/31(日) 08:49:28
>>429
int isSquare(int n)
{
int i, j;

for(i = 2; i * i <= n; i++) {
for(j = 0; n % i == 0; j++) n /= i;
if(j & 1) return 0;
}

return n == 1;
}
433デフォルトの名無しさん:2010/10/31(日) 09:28:49
>>372
7.15.1.1. にある
> 仮引数型は,その型のオブジェクトへ
> のポインタの型が,型の後ろに単に*を置くことによって得られる型名でなければならない。
という文言に違反している

ところでエラーではなく警告で済んでいるらしいが、
その警告を無視するとどうなるんだ?
434デフォルトの名無しさん:2010/10/31(日) 10:05:49
素数を求める計算をしようと以下のプログラムを書きました。
エラーが出ます、なぜでしょう。

#include <stdio.h>
#declare NUM 900000000

int main(void)
{
  int i,n;

  for(n=2; n<=NUM; n++){
    for(i=2; i<=n; i++){
      if(i == n){
        printf("%d¥n",n);
      }
      else if(n % i == 0){
        break;
      }
    }
  }
  return 0;
}
435デフォルトの名無しさん:2010/10/31(日) 10:08:52
declareってなんだよ
436デフォルトの名無しさん:2010/10/31(日) 10:13:36
>>435
#defineでしたすみません
437デフォルトの名無しさん:2010/10/31(日) 11:59:40
>エラーが出ます、なぜでしょう。
せっかくコンパイラが教えてくれてるのに無視かよ可哀想…
438デフォルトの名無しさん:2010/10/31(日) 12:00:58
>>437
どんなメッセージが出るって言うんだ?
うpしろ
439デフォルトの名無しさん:2010/10/31(日) 12:09:36
ああインデントに全角空白使っているのがダメ
440デフォルトの名無しさん:2010/10/31(日) 12:20:24
>>439
アンタ初心者?
2ちゃんでインデント表示するための工夫と見やすくするためのお前らへの思いやりだろw。
そんなことも知らんでム板にいるとは・・・。
バカ過ぎて笑える。
441デフォルトの名無しさん:2010/10/31(日) 12:21:25
>>440
いつもインデント無しでソースを書き散らして絡んでくる基地外だから相手にすんな。
442デフォルトの名無しさん:2010/10/31(日) 12:23:30
codepadかideone使えって言ってるだろ
443デフォルトの名無しさん:2010/10/31(日) 12:24:22
エラー起きねーじゃねーかカス
444372:2010/10/31(日) 13:20:10
>>430 の最期に指摘してあるように型の表記を間違っていただけでした.サーセン
445デフォルトの名無しさん:2010/10/31(日) 13:24:06
> typedef *char(*MY_FUNC)(char*);

記憶クラスへのポインタなんかできるわけないだろ
446デフォルトの名無しさん:2010/10/31(日) 15:26:56
.>>445
あぁよく見たら間違ってるな
typedef char*(*MY_FUNC)(char*);
の誤りだ

>>444
しかし、型が間違ってるだけだったの?
char (*)(char*) みたいなのでも type として認識されるんだ
俺も勉強になったよ、何の役にも立たないとは思うけど
447デフォルトの名無しさん:2010/10/31(日) 16:27:59
しかしva_argの戻り値で関数を呼び出すソースは初めて見たわ
パッと見何をしてるのか最初はわからなかった
Cはこの辺り読みにくいな
448デフォルトの名無しさん:2010/10/31(日) 16:31:50
おまえのレベルが足りてないだけだろ。
449デフォルトの名無しさん:2010/10/31(日) 16:34:00
そんな言い方しなくてもと
450デフォルトの名無しさん:2010/10/31(日) 16:37:52
>>448
レベルだと?Cは複雑な宣言も酷評を受けてるだろ
言語の欠陥なのに人のせいにすなアホ
お前同じ事職場で言ってみ
すぐ左遷されるぞ
お前の性格の欠陥だ
451デフォルトの名無しさん:2010/10/31(日) 16:38:29
>>447
そもそもメリットが判らんよ
関数ポインタの配列で渡せば良いと思うんだが
452デフォルトの名無しさん:2010/10/31(日) 16:38:42
あっ>>448は元々ニートでしたかサーセンwww
453デフォルトの名無しさん:2010/10/31(日) 16:59:51
一般人的感覚なんて宛にならない
454デフォルトの名無しさん:2010/10/31(日) 17:13:30
Cの可変長引数なんてprintf系のフォーマット+任意型値リストみたいなの専用だろ
455デフォルトの名無しさん:2010/10/31(日) 17:16:45
トリッキーなコード書いて、はまりたいだけでしょ
456デフォルトの名無しさん:2010/10/31(日) 20:00:24
>>450
表現力を失う選択をしたわけでもないのに言語の欠陥とは何のことだ?

それから左遷ておまえいつの何の話をしてるんだ?
いちおう付き合ってやると C の文法ごときで無能の言い訳をする奴こそ箸にも棒にもかからんのだが
457デフォルトの名無しさん:2010/10/31(日) 20:06:50
レジストリクリーナソフト作りたいです
458デフォルトの名無しさん:2010/10/31(日) 22:31:10
うるさい糞ジャップ
459デフォルトの名無しさん:2010/10/31(日) 22:58:04
この流れワロス
460デフォルトの名無しさん:2010/10/31(日) 23:00:08
レジストリクリーナソフト作りたいです
461デフォルトの名無しさん:2010/10/31(日) 23:02:47
作らないでください
462デフォルトの名無しさん:2010/10/31(日) 23:03:35
なんでですか?
463デフォルトの名無しさん:2010/10/31(日) 23:29:49
ひょっひょっ
464デフォルトの名無しさん:2010/10/31(日) 23:36:04
Wise Registry Cleaner掛けたらBorland Developer Studioの再インストールを余儀なくされた
いらん所を壊してるらしい
465デフォルトの名無しさん:2010/11/01(月) 06:49:41
んで結局レジストリ使うのは推奨なのか避けるべきなのかどっちなんだよ。
466デフォルトの名無しさん:2010/11/01(月) 08:15:47
高級つぶあんうまいよな
100円だけど栗入りだし高くない
ただセブンで売っていないのが残念
467デフォルトの名無しさん:2010/11/01(月) 08:41:11
精神鑑定意味あるの?
正常な精神で人殺しちゃうほうが異常だろ?
468デフォルトの名無しさん:2010/11/01(月) 10:20:23
レジストリなんてもんを背負ってるOSを使ってると大変なんだな
まぁ同情はするが共感はしない
469デフォルトの名無しさん:2010/11/01(月) 10:37:04
Cでゲーム作るとき一番簡単なゲームってなんですか?
470デフォルトの名無しさん:2010/11/01(月) 10:38:37
倉庫番
471デフォルトの名無しさん:2010/11/01(月) 11:05:05
平安京エイリアン
472デフォルトの名無しさん:2010/11/01(月) 11:26:21
上海
473デフォルトの名無しさん:2010/11/01(月) 11:29:07
早打ちガンマン
474デフォルトの名無しさん:2010/11/01(月) 12:00:20
スト2
475デフォルトの名無しさん:2010/11/01(月) 12:33:48
エグゼド・エグゼス
476デフォルトの名無しさん:2010/11/01(月) 12:34:05
スロット
477デフォルトの名無しさん:2010/11/01(月) 12:35:44
ルート16
478デフォルトの名無しさん:2010/11/01(月) 12:53:56
クレイジークライマー
479デフォルトの名無しさん:2010/11/01(月) 16:02:33
バーガータイム
480デフォルトの名無しさん:2010/11/01(月) 16:08:09
ディグダグ
481デフォルトの名無しさん:2010/11/01(月) 16:55:32
じゃんけんだろ
482デフォルトの名無しさん:2010/11/01(月) 16:58:42
○罰ゲーム
483デフォルトの名無しさん:2010/11/01(月) 17:08:04
○×ゲームと聞いて映画「ウォーゲーム」を思い出した
484デフォルトの名無しさん:2010/11/01(月) 21:17:06
int main(int argc, char **argv)と書いてある時がありますが
int main(int argc, char *argv[])との違いはなんですか?
485デフォルトの名無しさん:2010/11/01(月) 21:18:25
無い
486デフォルトの名無しさん:2010/11/01(月) 21:21:34
そもそも p[i] が *(p+i) と同じなんだから。
487デフォルトの名無しさん:2010/11/01(月) 21:45:35
>>486
仮引数にその話は関係ない。
488デフォルトの名無しさん:2010/11/01(月) 21:53:34
仮引数のときは例外として[]はポインタに読み替えられる。
だからポインタのポインタとポインタの配列は同じ意味になる。
489デフォルトの名無しさん:2010/11/01(月) 21:55:46
配列のポインターは違うんで注意
490デフォルトの名無しさん:2010/11/01(月) 22:07:42
そんなことはみんな知ってるし聞いてない.
491デフォルトの名無しさん:2010/11/01(月) 22:09:35
俺は知らなかった
はい論破
492デフォルトの名無しさん:2010/11/01(月) 22:10:09
論破←
493デフォルトの名無しさん:2010/11/01(月) 22:18:44
配列のポインタ (*p)[]
ポインタの配列 *p[]

豆な。
494デフォルトの名無しさん:2010/11/01(月) 22:20:22
そんなことはみんな知ってるし聞いてない
495デフォルトの名無しさん:2010/11/01(月) 22:20:34
そんなことはみんな知ってるし聞いてない.
496デフォルトの名無しさん:2010/11/01(月) 22:21:34
俺は知らなかった
はい論破
497デフォルトの名無しさん:2010/11/01(月) 22:23:14
なんちゅう流れやで!
498デフォルトの名無しさん:2010/11/01(月) 22:23:21
味覇
499デフォルトの名無しさん:2010/11/01(月) 22:24:34
炒飯にすると美味しい味覇か!
500デフォルトの名無しさん:2010/11/01(月) 22:25:48
お前らレベルになるとC言語で炒飯作れちゃんだろ?
501デフォルトの名無しさん:2010/11/01(月) 22:27:32
そんなことはみんな知ってるし聞いてない
502デフォルトの名無しさん:2010/11/01(月) 22:28:45
チャーハンなんて誰でも作れるし、チャーハンを得意料理とか言っちゃうプログラマは信用してない
503デフォルトの名無しさん:2010/11/01(月) 22:30:04
にげロンパ
504デフォルトの名無しさん:2010/11/01(月) 22:30:54
得意な料理はスパゲッティです。
505デフォルトの名無しさん:2010/11/01(月) 22:40:08
スパゲッティがぐちゃぐちゃに絡まるとか、プログラマはろくなもん食ったことないんだろうなw
506デフォルトの名無しさん:2010/11/01(月) 22:45:28
得意料理はビシソワーズです!
507デフォルトの名無しさん:2010/11/01(月) 22:46:04
   ( ̄| ̄ ̄ ̄ ̄ ̄ ̄)
   \_|_____○/
  / //ノノノ人ヽ   ヽ
  | /  -‐'  'ー-' \ヽ |
  ||  (●), 、(●:ヽ /
   |  ,,ノ(、_, )ヽ、,,   |   あーさーくーらー
   \  .`ニニ´  .:::/
   /`ー‐--‐‐ー´´\
508デフォルトの名無しさん:2010/11/01(月) 22:46:12
コーヒー入れるの得意
509デフォルトの名無しさん:2010/11/01(月) 22:47:40
>>507
この速度でそのコピペを貼れたのは評価する。
510デフォルトの名無しさん:2010/11/01(月) 23:09:49
>>493
こいつ最高にアフォ
511デフォルトの名無しさん:2010/11/01(月) 23:15:26
コピペにマジレスかっこわるい
512デフォルトの名無しさん:2010/11/01(月) 23:18:31
現実社会じゃ使い物にならないバカどもの吹きだまり
513デフォルトの名無しさん:2010/11/01(月) 23:19:32
そのかわり電脳世界を支配してる
514デフォルトの名無しさん:2010/11/01(月) 23:26:15
>>512
少なくともおまえに言われたくはない
515デフォルトの名無しさん:2010/11/01(月) 23:36:08
>>73
こういうのが良いの?
if () {
}
516デフォルトの名無しさん:2010/11/02(火) 00:09:47
俺が一声かけるだけで闇プログラマーが300人以上は結集するよ。
517デフォルトの名無しさん:2010/11/02(火) 00:13:56
>>516
闇プログラマーって暇人なんだな
518デフォルトの名無しさん:2010/11/02(火) 00:20:31
相変わらず友達いないんだな。かわいそうに。>>516
519デフォルトの名無しさん:2010/11/02(火) 12:48:30
闇プログラマはgoto文を恐れない
520デフォルトの名無しさん:2010/11/02(火) 12:50:22
>>493
> 豆な。

わたしのお豆でもイイの? ウフン...
521デフォルトの名無しさん:2010/11/02(火) 15:34:57
低レベルすぎて情けない……
http://twitter.com/#search?q=%23meijimaxc
522デフォルトの名無しさん:2010/11/02(火) 16:09:15
>>521
幼稚園に出向いて低レベルとかお前バカだろ
523デフォルトの名無しさん:2010/11/02(火) 16:12:03
誰でも初めはこんなもんです。熟達者ほど忘れてるだけ
524デフォルトの名無しさん:2010/11/02(火) 17:36:23
え?どゆこと?
525デフォルトの名無しさん:2010/11/02(火) 17:40:34
ポインタの配列渡すときに**pって渡そうとしたらエラーが出ました。
pだけで良かったんですね。
526デフォルトの名無しさん:2010/11/02(火) 18:00:01
最近c言語を学び始めました
「各入力行から、行のあとのブランクやタグを除き、かつ空白行はすべて削除するようなプログラムをかけ」
という問の答えがわかりません;;
putchar、getcharを使うんだと言う事はなんとなくわかるんですが・・・
どなたか優しい方このプログラムの作り方おしえてください
527デフォルトの名無しさん:2010/11/02(火) 18:03:45
答えだけ欲しいんなら宿題スレがあるのでそっちへ
ひとつずつ教えてもらいながら1歩1歩進んで行きたいんならここでもいいけど、それならまず自分がどこまでわかるのか、わかる部分とわからない部分を明確にしてください
528デフォルトの名無しさん:2010/11/02(火) 18:06:47
「各入力行」と言ってるのだから入力は行単位。
gets か fgets を使え。
あとは入力された byte 列を加工するだけ。
その後どうするかは仕様に書いてないので何もせずプログラム終了。
表示の類は行なわない。
529デフォルトの名無しさん:2010/11/02(火) 18:21:47
>>526

char str[256] ;
char* p ;
gets ( str ) ;// 1行読み取る
for ( p=str ; *p ; p++ ){
if( *p==' ' || *p=='\t' ){// 空白文字ならスキップ
continue ;
} else if ( *p=='<' ){// タグの開始文字が見つかったら
while(*p!='>'){//タグの終了文字までスキップ
p++ ;
}
continue ;
}
putchar(*p) ;
}

はい
あとは問題の仕様にあわせて書き直せ
530デフォルトの名無しさん:2010/11/02(火) 18:41:15
これはひどい
531デフォルトの名無しさん:2010/11/02(火) 18:50:22
すみません、基本的な質問ですが、

CString a[10];
char b[10][256];

lstpcpy(b[0],a[0]);
でa[0]="abc"の値がb[0]にコピーされません。
何か問題ありますでしょうか?他の方法がありましたら教えていただけますようお願いします。
532デフォルトの名無しさん:2010/11/02(火) 18:54:48
>>531
CStringがMFCのそれならスレ違い。
自分で定義したのならそれを明らかに。
いずれにしても、使い方が間違っていると思われ。
533デフォルトの名無しさん:2010/11/02(火) 18:57:38
534531:2010/11/02(火) 19:04:33
すんません
535デフォルトの名無しさん:2010/11/02(火) 19:16:06
stpcpy() なんて関数有るんだな、知らんかったよ
便利な気もするけど、使ったら何これって言われそうだ
536デフォルトの名無しさん:2010/11/02(火) 23:21:45
>>535
俺も初めて見たわ
実装の問題になるけど、オリジナルの dst を保存しなくていい分だけ数ステップ速いとかかな?
537デフォルトの名無しさん:2010/11/03(水) 02:00:56
続けて連結する場合、strcatよりstpcpyの方が終端検索分だけ早そう
それくらいしか思いつかない
538デフォルトの名無しさん:2010/11/03(水) 02:04:03
>>536
文字列を連結するときに strcat() 使うより早いよね
strcat() 内での NULL 検出が必要ないから
539デフォルトの名無しさん:2010/11/03(水) 11:50:45
内部では終端探してるだろうから速度は変わらん。手間の問題だな。
540デフォルトの名無しさん:2010/11/03(水) 12:54:49
sqlite.dllってなに?
541デフォルトの名無しさん:2010/11/03(水) 13:02:59
sqliteのdll
542デフォルトの名無しさん:2010/11/03(水) 13:16:17
>>539
strcpy(s, a);
strcat(s, b);
strcat(s, c);
strcat(s, d);

より

p = stpcpy(s, a);
p = stpcpy(p, b);
p = stpcpy(p, c);
p = stpcpy(p, d);

のほうが速いだろ。
543デフォルトの名無しさん:2010/11/03(水) 13:19:02
バッファオーバーフローしないように注意するとそんな速度差は吹っ飛ぶような気がする
544デフォルトの名無しさん:2010/11/03(水) 13:32:03
「内部で終端探してるから速度は同じ」ってのがよく分からん。
ただの勘違い?
545デフォルトの名無しさん:2010/11/03(水) 14:45:06
>>544
多分

stpcpy( stpcpy( stpcpy( s, "A" ),  "B" ), "C" );
みたいな書き方を美しいと考えた人の発明ではとも考えるんだけどね...美しいか? 
そも stp ってなんだろ?
546デフォルトの名無しさん:2010/11/03(水) 15:14:34
MOD_SSLを使ってSSLサーバを構築しようとしています。
最初にmakeしたときは、ndbm.hがないというのでネットで探したら見つかりました。
それをコピーして使ったところコンパイルは通るようになりました。
しかし、起動に失敗してエラーログを見るとmod_auth_dbm.cに未定義の関数
dbm_fetchがないというエラーが出ていました。犯人はもともとapacheに
含まれていないgdbmというソフトの中のndbm.hというヘッダの中にあって、
dbm_fetch関数を定義してあるソースコードもありました。未定義の関数を
コメントアウトするとコンパイルに失敗します。
この実行時エラーをなくすためにはどのようにコンパイルすればいいのでしょうか。
makeの読み方がわからずどのようなオプションをつければいいのかわかりません。
解決方法が解る方がいたら教えてください。
開発環境はSlackware11.0、GCC3.4.6です。
547デフォルトの名無しさん:2010/11/03(水) 16:23:15
先にgdbmをインストールすればいいんじゃない?
548デフォルトの名無しさん:2010/11/03(水) 17:16:09
dbm_fetch.cだけをコンパイルしたいのですが、外部参照の関数が多くて
単独でのコンパイルは難しいようです。少なくともどのようにコンパイルすれば
いいのか私には見当がつきません。makefileの記述を載せれば答えてもらえる
でしょうか?libgdbmにもリンクしようとしましたがエラーが出てだめでした。
どのようなエラーが出たのか見せたほうがいいでしょうか。
549デフォルトの名無しさん:2010/11/03(水) 17:22:54
>>548
cc -c dbm_fetch.c
550デフォルトの名無しさん:2010/11/03(水) 17:24:08
> dbm_fetch.cだけをコンパイルしたいのですが

そんなアクロバティックな真似は無理です
551デフォルトの名無しさん:2010/11/03(水) 17:31:16
>542
話の発端がわからないけど、strcpy(dst, src)の戻り値はdstです。
あとのコードはsにa, b, c, dを上書きしているだけで、連結になっていません。

文字列の編集したいなら、普通はsprintfを使うと思います。

sprintf(s, "%s%s%s%s", a, b, c, d);
552デフォルトの名無しさん:2010/11/03(水) 17:37:09
お前はstrcpyとstrcatの区別もできないのか
553デフォルトの名無しさん:2010/11/03(水) 17:38:19
区別できてないのはstrcpyとstpcpyの方か
554デフォルトの名無しさん:2010/11/03(水) 17:40:06
シンボル参照に失敗しているだけだと思うのですが、
gcc -c dbm_fetch.c dbmfetch.c
でコンパイルできるかやってみます。
555デフォルトの名無しさん:2010/11/03(水) 17:44:10
いろんなエラーが出てだめでした。
これさえ解決できればSSLサーバができるんですが・・・
556デフォルトの名無しさん:2010/11/03(水) 17:50:10
まだstpcpyの話してんのか
俺もtypoに気づいた時は笑ってしまったが
557デフォルトの名無しさん:2010/11/03(水) 17:51:06
>>556
ハハハ
558デフォルトの名無しさん:2010/11/03(水) 18:13:02
>>551
stpcpy()を使う使わないって話ではなくて、内部でどうこうしてるから
高速化されないって話に、いや高速化されるでしょって話をしてるの。
559デフォルトの名無しさん:2010/11/03(水) 18:16:32
gcc -c -I../../os/unix -I../../include -DLINUX=22 -DHAVE_SET_DUMPABLE -DNO_DBM_REWRITEMAP -DMOD_SSL=208130 -DUSE_HSREGEX -DEAPI `../../apaci` -fpic -DSHARED_MODULE mod_auth_dbm.c && mv mod_auth_dbm.o mod_auth_dbm.lo
gcc -shared -o mod_auth_dbm.so mod_auth_dbm.lo
560デフォルトの名無しさん:2010/11/03(水) 18:17:37
stpcpy()を使うとCPUメーカーが極秘にしている超高速命令に展開されるらしいぞ
逆アセンブルしても?????としか表示されないので一見何をやってるのかわからない
561デフォルトの名無しさん:2010/11/03(水) 18:20:19
文字列の連結はsprintf()使うのが普通なのか。

sprintf(s "%s%s%s", a, b ,c);

strcpy(s, a);
strcat(s, b);
strcat(s, c);
より特にいいようには見えないけど。
562デフォルトの名無しさん:2010/11/03(水) 18:27:43
__builtin_にすべきだよなstrcpyもstpcpyもw,l,sみたいなプレ|ケツフィックス付けた関数の増殖を防げるしバッファ長の安全もメタっぽい方法で確保できそうだし
563デフォルトの名無しさん:2010/11/03(水) 18:28:33
連結数が固定なら短くすっきり書けるからsprintfを使うな
でもstrcatやstpcpyの方が速度は早そう
564デフォルトの名無しさん:2010/11/03(水) 18:29:44
速度(笑)とか言ってる奴が標準関数使うなよw
565デフォルトの名無しさん:2010/11/03(水) 18:35:15
↑プログラミング作法も知らんのか
566デフォルトの名無しさん:2010/11/03(水) 18:41:39
本当に速度を求めるのなら作法なんかにこだわってる場合じゃない
567デフォルトの名無しさん:2010/11/03(水) 18:42:00
>>563
strcpy(), strcat()は複数行になるけど、sprintf()はフォーマット文字列の
存在が気持ち悪いから、俺の感覚だとどっちもどっちみたいな。

sprintf(s, "%s - %s - %s", a, b, c);
みたいな感じだとsprintf()のほうがスッキリ感は圧倒的に上だけど、
単純な連結だと、まあ、どっちでもいいかなって感じ。
568デフォルトの名無しさん:2010/11/03(水) 18:43:51
>>566
べつに行儀のよさを取るか、スピードを取るかみたいに極端に走らないと
いけないってわけじゃないし。
569デフォルトの名無しさん:2010/11/03(水) 18:56:22
と言いながら、中途半端な自分をごまかして死んでいくわけですね。
570デフォルトの名無しさん:2010/11/03(水) 18:58:19
人生には極端に走らなければいけない時がある
571デフォルトの名無しさん:2010/11/03(水) 19:05:34
そもそも、sprintfとstpcpyの速度差が性能に大きな影響を与えるような場所で、sprintfとstpcpyを使ってしまうような開発者のセンスを疑う。
572デフォルトの名無しさん:2010/11/03(水) 20:12:02
性能がよく高速で安全なプログラミング作法も守ったならここが有名
http://studiokingyo.fc2web.com/
実務プログラミングソリューションでは一般の認知的だが、知的だとこのあたりだ
573デフォルトの名無しさん:2010/11/03(水) 20:13:23
>>572
アフィサイト死ね
574デフォルトの名無しさん:2010/11/03(水) 20:15:18
>>572
おお、これはアフィサイトではないな高度情報だ
神と認定してもよい評価べき
575デフォルトの名無しさん:2010/11/03(水) 20:21:23
高度情報wwwwwww
576デフォルトの名無しさん:2010/11/03(水) 20:25:48
なんか涙出てきた
577デフォルトの名無しさん:2010/11/03(水) 20:27:27
組み込みでgcc使ったとき、
printfを自作して組み込んだんだけど上手く動かないことがあった。
逆アセして追っかけるとソースではprintf使ってるのに、
コンパイラが一部のprintfを勝手にputsに置き換えてることが原因だった。
速度的に有利なものをコンパイラが勝手に置き換えてたみたい。
sprintf、stpcpyもコンパイラが勝手に置き換えてくれたりせんもんかね。
578デフォルトの名無しさん:2010/11/03(水) 20:29:05
>一般の認知的だが、知的だとこのあたり

?????
579デフォルトの名無しさん:2010/11/03(水) 20:29:10
>>577
strなんとかは、インライン展開とかしない?
580デフォルトの名無しさん:2010/11/03(水) 20:31:30
>>577
これはダメだろ。
勝手に置き換えるのは最適でも何でもない。
ふざけんな。
581デフォルトの名無しさん:2010/11/03(水) 20:33:42
>>580
じゃあ最適化させるな。
最適化しろとgccに指示しているのはgccの使用者だ。
582デフォルトの名無しさん:2010/11/03(水) 20:37:11
日本語が不自由な人なの?
583デフォルトの名無しさん:2010/11/03(水) 20:38:01
Солодом митре
584デフォルトの名無しさん:2010/11/03(水) 21:06:20
組み込みで使うときは -ffreestanding を指定しておけばそのような勝手な置き換えは何もしない
デフォルトでは -fhosted でホスト環境の標準ライブラリが前提
585デフォルトの名無しさん:2010/11/03(水) 21:13:52
>>582
自己紹介乙
586デフォルトの名無しさん:2010/11/03(水) 21:14:10
たしかgccは最適化OFFでもputsに置き換えた気がする。
バージョンによるかもしれんが。明示的にオプションでOFFにできるのかね。

そもそも自作printfならオブジェクトのスコープでは別名にしたほうがいいかも。
使う側でdefineでprintfにするとか、ね。
587デフォルトの名無しさん:2010/11/03(水) 21:15:12
デフォにするなよな……
逆だろどう考えても……
588デフォルトの名無しさん:2010/11/03(水) 21:17:11
その程度の人間が標準関数を置き換えるようと思うな。
589デフォルトの名無しさん:2010/11/03(水) 21:18:13
>>586
-fno-builtin-printf
かな
590586:2010/11/03(水) 21:18:28
と思ったら>>584で解が。
やっぱりデフォでしたか…。
591デフォルトの名無しさん:2010/11/03(水) 21:41:46
反対してんのはどうせ一人だけのアホだろ
592デフォルトの名無しさん:2010/11/03(水) 21:58:34
始めまして、C言語初めて2日で、どうしてもわからないことができたので質問させて頂きます
float k,d,g,a,Enter;
printf("数字を入力してください ");
scanf("%d",&k);
rewind(stdin);
printf("もう1つ数字を入力してください ");
scanf("%d",&d);
g=k+d;
a=(k/g)*100;
if(    )
printf("\n【%.4f%】",a);
else if(    )
printf("\n【%.4f%】\n",a);
else if(    )
printf("\n【%.4f%】\n",a);
printf("\nEnterおすと終わりっす。");
rewind(stdin);
getchar();
ifの中を50以下の時の表示、51以上60未満の時の表示、61以上の時の表示で作りたいのですが、
ifの中をどう書いて良いのかよくわかりませんorz

後問題は、文字を入力された時にエラーとして文字が入力されています等も表示させたいのですが、どのようにすれば良いのでしょうか・・・

教えて頂きたいです。

593デフォルトの名無しさん:2010/11/03(水) 22:05:29
インデントのないプログラムは見ないことになっている
594デフォルトの名無しさん:2010/11/03(水) 22:07:09
>>592
a <= 50
a >= 51 && a < 60
a >= 61
って、比較対象は a でよかったのか?
それと 60 の時が抜けてる気がする
文字が入力されたときは scanf の戻り値を調べる
595デフォルトの名無しさん:2010/11/03(水) 22:11:03
>>592
>rewind(stdin);

おもいっきり環境依存なんだが
596デフォルトの名無しさん:2010/11/03(水) 22:14:52
>>594
ありがとうございます^^
比較対象はaですね、60のとき・・そうですね;改善します

>>592
環境依存文字とはなんでしょう?;
597デフォルトの名無しさん:2010/11/03(水) 22:16:56
>>596
VCでしょ?
gccとかで rewind(stdin); ってやったら未定義の動作になるよ
598デフォルトの名無しさん:2010/11/03(水) 22:18:57
始めて2日目にそんな話をしてもしょうがあるまい
599デフォルトの名無しさん:2010/11/03(水) 22:20:37
なあに、自分の環境で動けば問題ない
600デフォルトの名無しさん:2010/11/03(水) 22:26:50
初心者に間違った知識を教えたらなかなか抜けないぞ
601デフォルトの名無しさん:2010/11/03(水) 22:29:19
どこでrewind(stdin)なんて書き方を覚えたのかが問題
602デフォルトの名無しさん:2010/11/03(水) 22:32:35
>>601
おぼえたっていうか、問題文のコピペだろ?
603デフォルトの名無しさん:2010/11/03(水) 22:35:47
>>597
よくわかりませんが、gccというのでやるとダメなのですね

>>601
rewindはscanfが連続して続くときに使えとかなんとかいわれて・・

>>594さんの
最後の文を見てなかったのですが、scanfの戻り値の設定とはどういうことでしょうか・・??

604デフォルトの名無しさん:2010/11/03(水) 22:38:20
> rewindはscanfが連続して続くときに使えとかなんとかいわれて・・

なにその投げやりな説明
605デフォルトの名無しさん:2010/11/03(水) 22:38:49
>>603
gccって言うか、VC以外の環境ではまず駄目
VC独自の拡張だから
606デフォルトの名無しさん:2010/11/03(水) 22:40:40
>>603
「scanf が連続」してないところで使ってるのは何?
607デフォルトの名無しさん:2010/11/03(水) 22:44:26
初心者なら gcc -Wall -ansi -pedantic が無難じゃないかな。
WindowsならMinGW簡単にインストールできるし。
608デフォルトの名無しさん:2010/11/03(水) 22:44:53
>>604
正直自分でもよくわかってませんwこうしたらこうしろ見たいな感じだったので

>>606
最初に書いたやつは連続してないのに使ってるや、と後から思ったので自分で修正しました><
609デフォルトの名無しさん:2010/11/03(水) 22:49:12
scanf()のエラーチェックはこういう感じ。

ret = scanf("%d", &n);
if (ret != 1) {
 エラー処理
}
610デフォルトの名無しさん:2010/11/03(水) 23:00:04
入力ストリームのクリアには何が推奨なの?
while (getchar() != '\n') {} とか?
scanf("%*[^\n]%*c"); とか?
611デフォルトの名無しさん:2010/11/03(水) 23:01:24
>>610
確実な方法はない
クリアしているうちに次の新しい入力が入って来てるかもしれないし

C++ならgetlineとstringを使えばほとんど対応できるけど
612デフォルトの名無しさん:2010/11/03(水) 23:04:55
>>610
scanf()系は読み込みの単位が行じゃないんで、行単位でクリアするとおかしくなる。
613デフォルトの名無しさん:2010/11/03(水) 23:06:04
>>611
Cではいい方法はないからこそVCで独自拡張されたんだよな
614デフォルトの名無しさん:2010/11/03(水) 23:06:07
いや、少なくともこの例題だと行単位でクリアするのが正しいだろ
615551:2010/11/03(水) 23:08:05
>542>551
stpcpyだったんですね。はじめて知りました。
^

まぁ実装を想像すればNUL文字を走査しないでよいだけ
strcatよりは早くなる可能性が高いですね。

>565
たしかに速度が求められるなら、sprintfはアウトかもしれませんが
そういう場合はstrcpy,stpcpyもイイかといわれると?

標準関数が使用できない環境なら自作のmemcpy相当を
使うだろうから(str系は自作しないだろうし)、そもそもこんな話にはならないでしょうね。
616デフォルトの名無しさん:2010/11/03(水) 23:10:54
>>615
stpcpy()は強力だぞ
CPUの未定義命令が生成され、物凄く速い

strcpy()とは全く別物
617デフォルトの名無しさん:2010/11/03(水) 23:12:30
数行くらいの練習用コードで、エラー入力は考慮しないとか、
エラーがあったら即終わるみたいな感じだったらscanf()でもいいけど、
エラーチェックしろとか、エラーがあったら再入力させろとかって
条件がつくとscanf()だととたんに難しくなるな。

fgets()とか使わせたほうが結局簡単だけど、入門者用のテキスト書くやつって
scanf()を使いたがる。
618デフォルトの名無しさん:2010/11/03(水) 23:16:56
fgets() + sscanf() で当面いいんじゃね
619デフォルトの名無しさん:2010/11/03(水) 23:23:00
>>618
その組み合わせをどのように使うんですか?
620デフォルトの名無しさん:2010/11/03(水) 23:25:23
scanf()は融通が利かないので、一度fgets()でバッファオーバーフローを避けつつ
sscanf()でバッファを読み取る

これだとバッファはそのまま残るので rewind(stdin); とか変なテクは必要なくなる
もちろん複数行になると面倒だけど
621デフォルトの名無しさん:2010/11/03(水) 23:26:08
>>617
入門書だと例外処理を考える必要ないだろ
読む人間がまるっきりわかってないのに
なんだかんだやらせるよりscanf()でやってしまった方が覚えやすいし楽

例外処理やらそのほかのやり方はその次の段階の話
622デフォルトの名無しさん:2010/11/03(水) 23:26:18
>>619
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d", &n);
623デフォルトの名無しさん:2010/11/03(水) 23:29:57
>>621
だからエラー処理を考えないならいいって書いてるじゃん。
2chに貼られる質問みてると >>592 みたいにエラーメッセージ出しなさいとか
ループで使って無限ループしましたとか多いじゃん。
624デフォルトの名無しさん:2010/11/03(水) 23:47:44
それあるな
scanf()はスキャンしてエラーを起こすと全く読み込みポインタを進めないので
返却値をチェックしないと無限ループに陥る事が多い
625デフォルトの名無しさん:2010/11/03(水) 23:55:32
>>622、どうもです。

ところで、この場合どうなるんですか?
scanf("%d", &n1); // ここで間違って文字を入れた
scanf("%d", &n2); // そのときここはどうなるんですか?
626デフォルトの名無しさん:2010/11/03(水) 23:57:30
実行してから言え
627デフォルトの名無しさん:2010/11/04(木) 00:02:03
>>625
一行目の入力がストリームに残ったまま次のscanf()に行って、
やはり同じデータを読もうとして同じようにエラーになる。
628デフォルトの名無しさん:2010/11/04(木) 00:05:13
>>627
ありがとうございました。

>>626
死ね
629デフォルトの名無しさん:2010/11/04(木) 00:07:07
>>627
死ね
630デフォルトの名無しさん:2010/11/04(木) 00:09:11
>>628
死ね
631デフォルトの名無しさん:2010/11/04(木) 00:15:11
生きろ
632デフォルトの名無しさん:2010/11/04(木) 00:16:17
この流れワロス
633デフォルトの名無しさん:2010/11/04(木) 00:17:39
>>632
クソして寝ろ
634デフォルトの名無しさん:2010/11/04(木) 00:31:45
クソしたら腸がはみ出た謝罪と賠償を請求するニダ
635デフォルトの名無しさん:2010/11/04(木) 00:35:22
シーっと!クソがブイビィブイビィっと出やがった!ジャバジャバ流してやる!
636デフォルトの名無しさん:2010/11/04(木) 00:39:54
>>633
お前の指図は受けない
637デフォルトの名無しさん:2010/11/04(木) 00:56:10
>>636
クソしないで寝ろ
638デフォルトの名無しさん:2010/11/04(木) 00:58:51
>>627
scanfが成功するとストリームは自動的にクリアされるが、
scanfでエラー発生すると、ストリームが自動的にクリアされないので
自前でクリアしなければならないと。そして、それを正しくクリアするのは意外と大変と
ということで、エラーを考えた場合、scanfを使うのはイクナイと
639デフォルトの名無しさん:2010/11/04(木) 01:01:08
>>637
うるさい
640デフォルトの名無しさん:2010/11/04(木) 01:03:29
>>639
もうクソしつつ寝るしかないな
641デフォルトの名無しさん:2010/11/04(木) 01:04:57
> scanfでエラー発生すると、ストリームが自動的にクリアされないので

ん、ungetc でストリームを捏造することが問題なんじゃなかったの?
642デフォルトの名無しさん:2010/11/04(木) 01:16:28
>>641
いやいやエラー発生してもストリームはそのままなので、エラー対策をしてない
プログラムだと簡単に永久ループに飛び込む
643デフォルトの名無しさん:2010/11/04(木) 01:18:01
エラー発生は非破壊検査できないだろ
644デフォルトの名無しさん:2010/11/04(木) 01:25:55
もういいや
適当に作って永久ループに飛び込んで原因が分からず一晩悩んで頭禿げろよ
645デフォルトの名無しさん:2010/11/04(木) 01:49:53
mallocで確保したメモリって
exitやmain関数のreturn 0;でプログラムを終了する直前でもfreeで開放した方がいいんですか?
いちいち開放するようにしてると冗長になるような気がするんですけど
646デフォルトの名無しさん:2010/11/04(木) 01:55:40
>>645
プログラムによる

途中で多量のヒープ領域を使い、free()しないとヒープ領域を使い果たして
しまうようなプログラムではfree()しないと動かない

宿題程度でもmalloc()とfree()を対にしないと減点の対象になる事があるし
647デフォルトの名無しさん:2010/11/04(木) 01:55:49
しなくていいよ
648デフォルトの名無しさん:2010/11/04(木) 01:58:31
無責任なレスだなあ・・・
free()が何のためにあると思ってんだよ
649デフォルトの名無しさん:2010/11/04(木) 01:59:20
>>648
お前こそもっと勉強しろよ
650デフォルトの名無しさん:2010/11/04(木) 02:00:00
>>649
はあ?ただの煽りかお前
651デフォルトの名無しさん:2010/11/04(木) 02:02:35
メモリリークするときだけfreeすればいいよ
652デフォルトの名無しさん:2010/11/04(木) 02:02:44
C言語のexit()にはクリーンアップルーチンが通常は組み込まれており、
free()しなくても確かにプログラム終了と同時にmalloc()で使っていた
ヒープ領域もろともOSに返却される

しかし、途中でfree()しないと動かないプログラムや環境もある事を忘れない事だ
653デフォルトの名無しさん:2010/11/04(木) 02:06:50
>>646>>652
なるほど
いま大きな配列を扱うプログラムを使っててその配列をヒープ領域に確保してるんですけど
プログラムの最初から最後まで使うような配列なので何度もmallocを使うっていうことはないです
終了時にはOSが自動的に開放してくれるみたいなんでfreeしなくてもいいかなと思ってたんですけど
やっぱり環境に依存しちゃうんでfreeで開放するに越したことはないんですかね
654デフォルトの名無しさん:2010/11/04(木) 02:08:03
>>650
どした?質問者がきいていることを理解したか?
655デフォルトの名無しさん:2010/11/04(木) 02:08:45
だからしなくていいって
656デフォルトの名無しさん:2010/11/04(木) 02:09:33
>>651
お前こそもっと勉強しような
メモリリークとfree()はどちらかと言うと無関係だし
malloc()で得たポインタを捨ててしまう事が悪い
それはバグだ
657デフォルトの名無しさん:2010/11/04(木) 02:10:44
>>653
そういうのはfree()しなくても問題は起きない
しかし作法としては良くない
FILEをfopen()したままfclose()しないようなものだ
658デフォルトの名無しさん:2010/11/04(木) 02:14:20
>>657
そうですね
ありがとうございます
659デフォルトの名無しさん:2010/11/04(木) 02:15:04
>>656
え?
>>657
それは違う
660デフォルトの名無しさん:2010/11/04(木) 02:16:28
他の例えで言うと、校内にゴミを巻き散らかして、下校する時に
「掃除のオバチャンが綺麗にしてくれるから片づけなくていいや」と言ってるようなもん
行儀悪いだろ?確かに掃除のオバチャンが明日までには片づけてくれるだろうがね
661デフォルトの名無しさん:2010/11/04(木) 02:17:16
>>660
それも違う
662デフォルトの名無しさん:2010/11/04(木) 02:17:42
この程度の事で迷ったり原則論を声高に主張するような奴はもっと楽な言語を使ってれ
って事だわ
663デフォルトの名無しさん:2010/11/04(木) 02:20:06
>>662
それも違う
664デフォルトの名無しさん:2010/11/04(木) 02:20:48
GC言語使った方が良いね
665デフォルトの名無しさん:2010/11/04(木) 02:29:01
FILEのfopenについては、exit時に全てcloseされることが仕様で定められている。
しかしexitで自動でfreeするなどという仕様はない。
単にその実装でそうなっているだけ。
666デフォルトの名無しさん:2010/11/04(木) 02:29:17
>>661
お前ウザいから無視
前にもこういう馬鹿な奴がいてfj.comp.lang.cで半年にもわたって
malloc()とfree()の議論が交わされたものだ
結論はmalloc()したらfree()しましょうという事で決着している
はい終わり

後は何を言われても返事しませんので

せいぜい独り言で自分が正しいと思う事でも明日の朝まで長々と
書いていればいいよ

実務に携わった経験のない奴はこれだから困る

おやすみ
667デフォルトの名無しさん:2010/11/04(木) 02:33:03
>>666
終了前にfree()いれても実行の度メモリが減少していくことがあります
はい論破
668デフォルトの名無しさん:2010/11/04(木) 02:40:32
669デフォルトの名無しさん:2010/11/04(木) 02:43:28
>>668
あ?知らないの?
670デフォルトの名無しさん:2010/11/04(木) 04:38:05
いや、絶対的に減るかどうかじゃなくて、
freeした場合としない場合の相対的な話をしているんじゃないの?
671デフォルトの名無しさん:2010/11/04(木) 06:21:07
よくわからないけど>>667が馬鹿って事?
672デフォルトの名無しさん:2010/11/04(木) 06:25:15
終了後の状態を比べてどうすんだよ
メモリリークは実行中に発生するから問題なんだろ
673デフォルトの名無しさん:2010/11/04(木) 07:09:16
ヒープと仮想記憶がごっちゃ
674デフォルトの名無しさん:2010/11/04(木) 08:53:22
だから終了前にfreeするかどうかだろ
普通のOSじゃ必要ないから
675デフォルトの名無しさん:2010/11/04(木) 09:08:45
>>572のサイトにすべて載っているな
しかもこの著者は独自研究最高成果としてdmallocという割り付け機構を実装した
まだ発見されていないAPIもある
676デフォルトの名無しさん:2010/11/04(木) 09:18:13
宣伝うざいしね
677デフォルトの名無しさん:2010/11/04(木) 09:22:38
ポインタの概念がわからないんだけど
いまは一つ一つどうすればいいのかを調べて
1個1個覚えていっていくって感じ
そういうのでいいの?
678デフォルトの名無しさん:2010/11/04(木) 09:26:54
オナニーなう
679デフォルトの名無しさん:2010/11/04(木) 09:28:27
誤爆なう
680デフォルトの名無しさん:2010/11/04(木) 09:30:05
>>675
HTMLもまともにかけてないのにCなんかできるの?
681デフォルトの名無しさん:2010/11/04(木) 09:41:21
エッチなまうまう?
682デフォルトの名無しさん:2010/11/04(木) 09:43:09
>>680
HTML書けないとC言語できないんですか
683デフォルトの名無しさん:2010/11/04(木) 09:45:19
最強のライブラリって何?
684デフォルトの名無しさん:2010/11/04(木) 09:51:30
HP作ったのが2000年で10年もやってんだから
HTML中級者以上の実力あるに決まってんだろ
ただ雑にやっているだけ
685デフォルトの名無しさん:2010/11/04(木) 09:55:19
>>683
ヒョードルを倒すための研究ノート
686デフォルトの名無しさん:2010/11/04(木) 09:56:29
高度情報に嫉妬してる奴がいるだけだ
687デフォルトの名無しさん:2010/11/04(木) 09:57:49
>>685
君はジョークのセンスを磨こう
688デフォルトの名無しさん:2010/11/04(木) 10:04:58
ガチでやったらヒョードルより俺の方が強い
689デフォルトの名無しさん:2010/11/04(木) 10:11:55
ぽいんぽいんポインタッチ
いや〜ん
690デフォルトの名無しさん:2010/11/04(木) 10:12:47
ガンダムのOSはCで書いてますか?
691デフォルトの名無しさん:2010/11/04(木) 10:14:40
ダルビッチ・サセコ
692デフォルトの名無しさん:2010/11/04(木) 10:14:48
#だよ
693デフォルトの名無しさん:2010/11/04(木) 10:18:07
>>692
まじで?
MS最強伝説!!!
694デフォルトの名無しさん:2010/11/04(木) 10:37:57
そりゃぁ、モビルスーツは最強だろうよ。
695デフォルトの名無しさん:2010/11/04(木) 10:42:58
バカだなぁテム・レイはCOBOLerに決まってるじゃないか
696デフォルトの名無しさん:2010/11/04(木) 12:23:42
低脳が集まるスレはここですか
697デフォルトの名無しさん:2010/11/04(木) 12:24:13
>>696
君も来ちゃったんだね
698デフォルトの名無しさん:2010/11/04(木) 12:36:48
めでたく仲間入りです
699デフォルトの名無しさん:2010/11/04(木) 12:37:53
>>677
黙ってポインタ完全制覇でも読むんだ。
700デフォルトの名無しさん:2010/11/04(木) 12:49:03
ゆとりなので、黙って読めません...
701デフォルトの名無しさん:2010/11/04(木) 13:01:42
>>667のようなアホはもしC++を使ったら、「デストラクタなんていらんよ」
「スマートポインタ?そんな物もいらね」と言い出しかねない馬鹿
702デフォルトの名無しさん:2010/11/04(木) 13:21:33
お前ら暇なの?
703デフォルトの名無しさん:2010/11/04(木) 13:30:53
実は今日は大学休みなんだ
704デフォルトの名無しさん:2010/11/04(木) 13:45:38
わるいな。このスレ3人用なんだ。
705デフォルトの名無しさん:2010/11/04(木) 13:46:17
じゃガンダムの登場キャラのイメージに合う使用言語、PCを決めようぜ。

アムロ・レイ : PC9800NX / C++
テム・レイ : PC8801mkII / COBOL
706デフォルトの名無しさん:2010/11/04(木) 14:07:33
>>701
また別の話を持ち出してくるバカがひとり
707デフォルトの名無しさん:2010/11/04(木) 14:17:08
男は黙ってFORTRAN
708デフォルトの名無しさん:2010/11/04(木) 14:23:30
>>707
ヒイロ?あいつエリートなんだろ?
709デフォルトの名無しさん:2010/11/04(木) 14:34:39
>>705
0083に出てくるが、アナハイムのPC環境ってすごいよな。
キーボードとかスゲー音w
710デフォルトの名無しさん:2010/11/04(木) 14:36:27
パプテマス・シロッコ : Amiga 500 / Haskell
711デフォルトの名無しさん:2010/11/04(木) 14:38:47
パプテマスさまー
712デフォルトの名無しさん:2010/11/04(木) 14:39:53
ガンダムなんてわかんねーよおっさんども
713デフォルトの名無しさん:2010/11/04(木) 14:41:40
ガンダムSEEDで語りやがれ
714デフォルトの名無しさん:2010/11/04(木) 16:52:28
キラ様は賢いからjava
715デフォルトの名無しさん:2010/11/04(木) 17:25:57
キラ様はブートストラップからやるからアセンブラだろ
716デフォルトの名無しさん:2010/11/04(木) 17:32:53
cpuはなんだ?
インテル入ってる?
717デフォルトの名無しさん:2010/11/04(木) 17:34:18
デュアルコアだな
718デフォルトの名無しさん:2010/11/04(木) 17:41:10
今時アセンブラって頭禿げるがな(´・ω・`)
719デフォルトの名無しさん:2010/11/04(木) 17:44:50
やっぱ宣伝か屑野郎

C言語で1000行くまでにプログラムを完成させるスレ
http://hibari.2ch.net/test/read.cgi/prog/1274962793/42

42 名前:仕様書無しさん[] 投稿日:2010/11/04(木) 17:35:24
/*
神サイトを発見した最強のライブラリアンが使えるC言語なら実務ができるようになる
http://studiokingyo.fc2web.com/
*/
720デフォルトの名無しさん:2010/11/04(木) 17:45:42
>>718
どうやって CPU 作るんだよ
721デフォルトの名無しさん:2010/11/04(木) 17:46:01
生きる為にやりました。
今は反省していない
722デフォルトの名無しさん:2010/11/04(木) 17:47:42
>>720
ハンダコテ
723デフォルトの名無しさん:2010/11/04(木) 17:52:19
>>719
いくらなんでも架空のレスをでっち上げるのはよくないな
724デフォルトの名無しさん:2010/11/04(木) 17:54:03
>>719
あれ、このサイト意外と神じゃね・・・?
725デフォルトの名無しさん:2010/11/04(木) 18:04:53
>>719
いいサイトをありがとう
ここのライブラリすごいな、boost超えるんじゃね時間の問題
726デフォルトの名無しさん:2010/11/04(木) 18:10:42
自作自演ウゼェ(´Α`)
727デフォルトの名無しさん:2010/11/04(木) 18:11:29
嫉妬ウゼェ(´Α`)
728デフォルトの名無しさん:2010/11/04(木) 18:14:27
で?素数の宿題は終わったのかよ
終わったんならガンダムネタに付き合えよ
729デフォルトの名無しさん:2010/11/04(木) 18:17:45
嫉妬だと? (・m・ )ぷ
730デフォルトの名無しさん:2010/11/04(木) 18:20:16
>>719
これだけの高度情報を収集した著者は偉大だな
俺は宇宙プログラムにも関わっているんだがこのサイトは話題の人気で実用性だった
731デフォルトの名無しさん:2010/11/04(木) 18:21:18
高度情報wwwwwww
732デフォルトの名無しさん:2010/11/04(木) 18:21:36
ハマーン・カーンはPhytonかな。PCはAlienware M17xって感じ
733デフォルトの名無しさん:2010/11/04(木) 18:24:12
話題の人気?
734デフォルトの名無しさん:2010/11/04(木) 18:27:11
このサイトは話題の人気で実用性だった
ってキチガイだなw
735デフォルトの名無しさん:2010/11/04(木) 18:28:28
宇宙プログラムってのも中々
736デフォルトの名無しさん:2010/11/04(木) 18:31:51
まあそれなりに高度なプログラマになると宇宙を複合する作業に携わることになるよね
737デフォルトの名無しさん:2010/11/04(木) 18:35:02
>>736
お前は分かっているな。
俺くらいになると例えば宇宙ロケットのエンジン部分のデータ結合は暗号化しなければならないが
暗号化したら復号化ができることが最低必要条件となるから>>719のサイトで暗号理論や記号理論、数理統計情報数学等を
学ぶ必要のあるから、俺は参考ンしてnる・
738デフォルトの名無しさん:2010/11/04(木) 18:41:26
あ痛たたた
739デフォルトの名無しさん:2010/11/04(木) 18:42:09
>>719
SUGEEEEEEEEEEEE
740デフォルトの名無しさん:2010/11/04(木) 19:18:01
シャアはDelphi
741デフォルトの名無しさん:2010/11/04(木) 19:43:04
随分とクソスレになったな。
742デフォルトの名無しさん:2010/11/04(木) 19:44:51
>>741
あ?入門者用の質問スレでなにいってんだ?
743デフォルトの名無しさん:2010/11/04(木) 19:52:40
質問者を馬鹿にしようとする低能が集まるスレだからな
744デフォルトの名無しさん:2010/11/04(木) 20:40:17
>>666
関係ないけどニュース系の板で議論があると
「こんなもん専門版じゃとっくに決着ついてるのに、やれやれ」
みたいなこというヤツいるけど、それと同じものを感じた。
745デフォルトの名無しさん:2010/11/04(木) 20:50:37
>>744
話を蒸し返すなよ
また荒れるだろ
746デフォルトの名無しさん:2010/11/04(木) 20:53:49
freeしてもすぐにOSに返されるわけではないので
終了前でもfreeすべき
747デフォルトの名無しさん:2010/11/04(木) 20:55:54
>>746
えーと
頭悪い?
748デフォルトの名無しさん:2010/11/04(木) 20:56:46
言ってる本人は専門版とかfjにすごい権威を感じてるんだろうけどな。
749デフォルトの名無しさん:2010/11/04(木) 21:00:54
749 = 3^6+20
750デフォルトの名無しさん:2010/11/04(木) 21:04:31
        /          ヽ       ど ん な  か な し い こ と が あ っ て も
     .  i   _,,_ル,,rョュ 、 i
       |  ィ rっフ , 弋ミア |r,      
       _|  "''"~ ハ   ハ   .i;{     や せ が ま ん で も い い
       } ;    / " '  ヽ   |j      
      λヽ    r―''"入  |
       `"i    廷廾ニツ  j       ひ の あ た る ば し ょ で
         i、      ̄   .ノ
          ` ー ,,___,,. /        
              .! .i           お じ ぎ す る の だ
            .. |. |           
              .! .i   ._,,,‐''^^'''''>
    、....,,,,..,,_      ! .;! .,/'゙`,_   .,ノ   そ う  た ん ぽ ぽ の よ う に
    \  .⌒\  │ .|!.,,iミ/ ._,,,./′
      i  '^'''‐、..゙'hノ| .|厂 . ̄′
     .ヽ_    ゙メリ| .|
         ̄ ̄   |. |    ._,,,‐''^^'''''>
751デフォルトの名無しさん:2010/11/04(木) 21:32:14
>>747
お前よりはいい
752デフォルトの名無しさん:2010/11/04(木) 21:40:29
細切りを一個づつ解放するよりも
ばっさりとOS任せでブロックごと解放するほうが効率がいい事くらいわからないとは
753デフォルトの名無しさん:2010/11/04(木) 21:46:08
>>744
議論の内容は憶えていない〜付いて来れなかった >>666 が爺風吹かしてるだけw
754デフォルトの名無しさん:2010/11/04(木) 21:54:52
おすすめのフォント教えてください
755デフォルトの名無しさん:2010/11/04(木) 21:59:49
カスニートばっか
756デフォルトの名無しさん:2010/11/04(木) 22:01:15
カスニートってなんか速そう。
757デフォルトの名無しさん:2010/11/04(木) 22:02:39
>>719
すごいなー
758デフォルトの名無しさん:2010/11/04(木) 22:06:25
金曜日の夜 土曜日の昼 土曜日の夜 日曜日の昼 日曜日の夕 日曜日の夜 月曜の朝
    ↓     ↓      ↓        ↓       ↓        ↓   ↓
                            ┃::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    ∧||∧
   ∧ ∧   ∧∧     ∧ ∧   ┃::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ( / ⌒ヽ
   (・∀・)  ∩∀・)    (・∀・)∩  ┃:::∧∧::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::   | |   |
   / ⊃⊃ ヽ  ⊃ノ   /⊃ /  ....┃:::('д` )::::::::::::::∧∧:::::::::::::::::::::::::::::::::::  ∪ / ノ
 〜(  (    ヽ  )つ 〜( ヽノ  ......┃:::と  ヽ::::::::: ('д` ):::::::(   )⌒ヽ;:::::::::: | ||
   (/(/'      (/     し^ J  ......┃:::⊂,,_UO〜:::(∩∩ ):::::|/.|/uと  )〜::::: ∪∪
759デフォルトの名無しさん:2010/11/04(木) 22:08:11
>>754
マ板にフォントのスレがある
760デフォルトの名無しさん:2010/11/04(木) 22:53:19
>>759
フォントに?
761デフォルトの名無しさん:2010/11/04(木) 23:19:05
名:カスニート・ヘルセゴビナ
性別:男性
概要:
ティターンズのモビルスーツパイロット。
グリプス戦役時、バスク・オム直属の部隊に所属。
独特なカラーリングを施したRMS-106 ハイザックに搭乗。
762デフォルトの名無しさん:2010/11/04(木) 23:46:21
おやすみ〜
763デフォルトの名無しさん:2010/11/05(金) 02:24:46
iTunesが おきあがり
なかまに なりたそうに こちらをみている!
なかまに してあげますか?

┌───┐
│⇒はい│
│いいえ│
└───┘

iTunesが なかまに くわわった!
QuickTimeが なかまに くわわった!
Bonjour for Windowsが なかまに くわわった!
Apple Mobile Device Supportが なかまに くわわった!
Apple Software Updateが なかまに くわわった!
MobileMeが なかまに くわわった!
Apple Application Supportが なかまに くわわった!

Apple Software Updateが Safariを よびよせた!
Apple Software Updateが iPhoneソフトウェアを よびよせた!


:::::::::::.: .:. . ∧_∧ . . . .: ::::::::
:::::::: :.: . . /彡ミ゛ヽ;)ヽ、. ::: : ::
::::::: :.: . . / :::/:: ヽ、ヽ、i . .:: :.: :::
 ̄ ̄ ̄(_,ノ  ̄ ̄ヽ、_ノ ̄

QuickTime をアンインストールしますか?
>はい
なんとiTunes はしんでしまった!

764デフォルトの名無しさん:2010/11/05(金) 02:27:17
データ抽象を優しく説明お願いします
765デフォルトの名無しさん:2010/11/05(金) 03:11:04
>>764
Cでいえば、例えばFILE型の使い方が典型例

FILEをどうやって扱うかというと、
もちろんfopenとかでFILE型へのポインタを得て、それに対して
freadとかfwriteとかやって、最後にfcloseで閉じるという流れがまあ普通だろう

ここで注目して欲しいのが、
「使い手はFILE型の実装を知らなくてもいい」という事実
まあ多くの実装では構造体なのだろうが、そんなことはどうでもいい
なぜなら具体的な処理はfreadとかがやってくれて、我々はFILEの実装に直接触る必要がないから

このようにデータを操作(Cでいう関数)でラッピングして、
データ自体の細部(実装)を隠してしまうことをデータ抽象という
766デフォルトの名無しさん:2010/11/05(金) 04:49:34
優しくということで具体例
たとえばWindowsならCreateFile・ReadFile・WriteFileなどの関数群を
ファイルハンドルというポインタ(のようなもの)などを引数に指定して操作する
http://msdn.microsoft.com/ja-jp/library/cc429198.aspx

一方Linuxなどではopen・read・writeなどの関数群を用いて
ファイルディスクリプタという識別子などを引数にして操作する
http://manpages.courier-mta.org/htmlman2/open.2.html

リンク先で示すようにシステムによってファイルを扱うために必要なデータ・パラメタが異なるが
FILE構造体の内容をシステム毎に変えることにより
使用者はFILE構造体へのポインタとして,システム間の差異を気にせず扱えるようになっている
767デフォルトの名無しさん:2010/11/05(金) 06:28:01
768デフォルトの名無しさん:2010/11/05(金) 06:58:20
キーボードから'A'の入力を受けるまで1秒間隔で'B'を表示し続けるにはどうしたらいいでしょうか
769デフォルトの名無しさん:2010/11/05(金) 07:57:57
環境依存なのでなんとも
770デフォルトの名無しさん:2010/11/05(金) 08:02:20
>>768
system();
771デフォルトの名無しさん:2010/11/05(金) 08:04:24
>>769
すぐそうやって逃げるのはヘタレ。
If you have no idea 黙ってろ。
772デフォルトの名無しさん:2010/11/05(金) 08:10:45
環境依存なのでなんとも
773デフォルトの名無しさん:2010/11/05(金) 08:33:20
vcなら楽勝だがgccだとメンドイな
774デフォルトの名無しさん:2010/11/05(金) 08:43:12
はぁ? おまえが低能なだけじゃん。
775768:2010/11/05(金) 08:55:27
環境はLinuxのgccです
776デフォルトの名無しさん:2010/11/05(金) 10:28:30
unix kbhitでぐぐれ
777デフォルトの名無しさん:2010/11/05(金) 11:07:46
>>765-766
参考書読んでも分からなかったので聞いてみましたが感覚が掴めたように思います。
非常に詳しい解説ありがとうございました。
778デフォルトの名無しさん:2010/11/05(金) 11:11:12
パラメータ2のポアソン分布に従う疑似乱数はどうやって発生させるんですか?
779デフォルトの名無しさん:2010/11/05(金) 11:35:19
>>778
Cの入門で扱うような内容じゃないので乱数スレにでもどうぞ。
780デフォルトの名無しさん:2010/11/05(金) 13:08:40
#include <ncurses.h>

int main(void){
  initscr();
  nodelay(stdscr, TRUE);

  while(1)
  {
    printw("B");
    refresh();
    if(getch() == 'A'){ break; }
    sleep(1);
  }
  endwin();
  return 0;
}
781:2010/11/05(金) 13:18:01
#defineを使用した組み込み用プログラムで、

#define reset() config = 0x00;\
          state = 0x32
と宣言した場合、

int main (void)
{
  reset();
}
と記述すれば
int main (void)
{
  config = 0x00;
  state = 0x32;
}
という動作をしますか?
782デフォルトの名無しさん:2010/11/05(金) 13:47:18
そう解釈はするでしょうけれど、コンパイルできないでしょうから動作はしないような。
783デフォルトの名無しさん:2010/11/05(金) 13:52:53
mainかグローバルスコープあたりにconfigとstateが宣言されてたら動くんじゃない?
784デフォルトの名無しさん:2010/11/05(金) 13:57:20
プリプロセッサは
int main(void)
{
  config = 0x00;state = 0x32;
}
こう展開するんだろうけどな。

展開後コンパイルできるコードかどうかは config と state の宣言があるかどうか次第。
785デフォルトの名無しさん:2010/11/05(金) 13:59:23
間違い。 state の前の空白が落ちてた。
今回の件では瑣末事なので忘れてクレイ
786781:2010/11/05(金) 14:11:08
今回使用したconfigとstateは既に宣言されているものです、わかりにくくてすみません。

動作するということで、了解しました。
ありがとうございます。
787デフォルトの名無しさん:2010/11/05(金) 14:26:45
お前らは最初ポインタって聞いたときマウスのポインターが思いついた世代ですか?
788デフォルトの名無しさん:2010/11/05(金) 14:35:25
ジュワッ
789デフォルトの名無しさん:2010/11/05(金) 14:37:54
マクロ内に外部の宣言に依存するものを入れるのは気持ち悪い
790デフォルトの名無しさん:2010/11/05(金) 14:41:32
そうでもない
791デフォルトの名無しさん:2010/11/05(金) 14:42:02
マクロ乱用とかきっしょいわ
792デフォルトの名無しさん:2010/11/05(金) 14:53:07
組み込みだとスイッチ類のBIT指定マクロがぎっちりつまったヘッダーが普通にあるよ
OSなんて乗ってないから直接レジスタを操作して信号送ることになる
793デフォルトの名無しさん:2010/11/05(金) 14:54:22
この場合は乱用が適切だな。敢えて濫用と言い換えることもない。
794デフォルトの名無しさん:2010/11/05(金) 16:41:43
>>780
それだと押してからも一回表示されちまから順番変えろ。
再提出。
795デフォルトの名無しさん:2010/11/05(金) 16:53:07
こういう話になると必ず>>792みたいに組み込みとか場違いな話を持ち出す馬鹿が出てくるよね
796デフォルトの名無しさん:2010/11/05(金) 16:55:56
議論を自分のステージに持って行きたいのさ
797デフォルトの名無しさん:2010/11/05(金) 16:58:37
どこのスレでも語尾に「。」をつけてるから同一人部ではないかと思ってる
798デフォルトの名無しさん:2010/11/05(金) 16:59:48
そこに気付くとは。
やはり天才か。
799デフォルトの名無しさん:2010/11/05(金) 17:03:13
私は同一人部だったのか。
800デフォルトの名無しさん:2010/11/05(金) 17:03:48
人部ェ
801デフォルトの名無しさん:2010/11/05(金) 17:08:00
何も句読点だけで判断している訳ではないだろう。対象人物のよく使う単語なり文の使い回しなど考察する対象はいくらでもあるとは思わないかね?
802デフォルトの名無しさん:2010/11/05(金) 17:31:13
そうだね。はい次。
803デフォルトの名無しさん:2010/11/05(金) 17:32:35
フラグツール作りたい
804デフォルトの名無しさん:2010/11/05(金) 17:34:08
京都人は滅ぶべき
805デフォルトの名無しさん:2010/11/05(金) 17:41:03
>>803
プラグスーツに見えた
806デフォルトの名無しさん:2010/11/05(金) 17:42:11
*p[]   ポインタの配列
(*p)[]  配列へのポインタ
807デフォルトの名無しさん:2010/11/05(金) 17:44:19
そんなことはみんな知ってるし聞いてない
808デフォルトの名無しさん:2010/11/05(金) 17:45:24
こんなのに釣られる人っているんだw
809デフォルトの名無しさん:2010/11/05(金) 17:45:35
日本は和人の国である。
和人系じゃないのは日本人でない。
810デフォルトの名無しさん:2010/11/05(金) 17:46:03
かずひと
811デフォルトの名無しさん:2010/11/05(金) 17:47:59
&p[]   
(&p)[]  
これはなーに
812デフォルトの名無しさん:2010/11/05(金) 17:49:19
>>811
未定義です
813デフォルトの名無しさん:2010/11/05(金) 18:24:23
>>789
assert とかどうやって作るんだよ
814デフォルトの名無しさん:2010/11/05(金) 18:28:48
マクロをまともに使ったことが無い奴に限って
マクロを否定する
不思議
815デフォルトの名無しさん:2010/11/05(金) 18:38:02
はいはい不思議不思議
816デフォルトの名無しさん:2010/11/05(金) 18:39:26
マクロが必須なら他の言語はどうなるんだよ
817デフォルトの名無しさん:2010/11/05(金) 18:47:24
ビョーンwwwwwwwwwwww
818デフォルトの名無しさん:2010/11/05(金) 18:48:08
使えるものは使うだろ?
なにいってんだ?
819デフォルトの名無しさん:2010/11/05(金) 18:49:17
はいはい組み込みだと組み込みだと
820デフォルトの名無しさん:2010/11/05(金) 18:50:53
プログラマが欲しいのはLispのマクロであって、Cのマクロじゃないから
821デフォルトの名無しさん:2010/11/05(金) 18:54:41
組み込みだとマクロを使わなきゃやってられない
メモリアドレスを即値で指定するなんて日常茶飯事だからな
C言語は組み込みのための言語だし
822デフォルトの名無しさん:2010/11/05(金) 18:57:41
マクロを関数のように使うのは止めて頂きたい。
とくに関数のようなマクロを入れ子で使って階層の深い場所でreturnとかマジ簡便。
823デフォルトの名無しさん:2010/11/05(金) 19:00:39
簡便ならいいじゃないか。
824デフォルトの名無しさん:2010/11/05(金) 19:04:35
>>822
>マジ簡便。

ならいいじゃん
825デフォルトの名無しさん:2010/11/05(金) 19:16:28
上条のミツバチを思い出した。
826デフォルトの名無しさん:2010/11/05(金) 19:21:41
ならぬ堪忍するが堪忍
お前は簡便おいらは勘弁
マクロは入れ子でマグロは卵
Yeah!
827デフォルトの名無しさん:2010/11/05(金) 19:22:19
>>765
FILE 構造体以外によい例がない件について
828デフォルトの名無しさん:2010/11/05(金) 19:26:38
簡便って簡単に大便・小便できるってことだよね
階層の深い場所でreturnでも、苦しまずにすぐに出れるってことで
超健康的で良いよね
829デフォルトの名無しさん:2010/11/05(金) 19:38:47
>>822
意味がよく分からんので補足してくれ。
min,max,absとかもだめなの?
830デフォルトの名無しさん:2010/11/05(金) 19:50:18
まあ中身が1行のやつは許可してやるよ
831デフォルトの名無しさん:2010/11/05(金) 20:56:06
カウント文の使い方をだれか説明してください
832デフォルトの名無しさん:2010/11/05(金) 20:57:34
for (i = 0; i < num; i++) {
}
833デフォルトの名無しさん:2010/11/05(金) 21:13:58
草食系とかマジ簡便
834デフォルトの名無しさん:2010/11/05(金) 21:15:07
ワロタ
835デフォルトの名無しさん:2010/11/05(金) 22:39:25
マクロは型を定義するのに必要
#define UInt unsigned int
とすればunsigned int型に別名UIntを付けることができる
836768:2010/11/05(金) 22:43:10
>>775
>>780
ありがとうございます
両方ともできました
837デフォルトの名無しさん:2010/11/05(金) 22:46:23
>>835
typedefじゃだめなの?
838デフォルトの名無しさん:2010/11/05(金) 22:52:32
>>837
typedefがなかったらどうするの?
839デフォルトの名無しさん:2010/11/05(金) 22:55:48
無意味すぎる。
840デフォルトの名無しさん:2010/11/05(金) 23:01:07
無意味ってw
841デフォルトの名無しさん:2010/11/05(金) 23:03:55
マクロがいやならマクロが無い言語使えばいいじゃん
842デフォルトの名無しさん:2010/11/05(金) 23:04:45
C++なんてどうです?
843デフォルトの名無しさん:2010/11/05(金) 23:08:16
>>827
確かに多くはないだろうが、無いわけじゃない
思いつくのはsetjmp/longjmp
844デフォルトの名無しさん:2010/11/05(金) 23:08:41
>>842
組み込みではC言語とC++を使います
845デフォルトの名無しさん:2010/11/05(金) 23:38:53
include や define一段だけ使ってるうちならいいけど
深みにハマるとプリプロセッサは超難解ミニ言語だからね
846デフォルトの名無しさん:2010/11/05(金) 23:49:14
正則言語にすら及ばず、置き換えしかできないものを「言語」と言っちゃうかw
847デフォルトの名無しさん:2010/11/05(金) 23:50:27
>>846
CSTL くらいになると言語っぽい
848デフォルトの名無しさん:2010/11/05(金) 23:51:13
データベース言語とかマークアップ言語とかありますので
849デフォルトの名無しさん:2010/11/06(土) 00:09:24
>>848
それマクロじゃないし
お前「言語」って何かわかってないだろ
850デフォルトの名無しさん:2010/11/06(土) 00:12:26
>>849
「言語」って何?
851デフォルトの名無しさん:2010/11/06(土) 00:12:51
↓ググれ
852デフォルトの名無しさん:2010/11/06(土) 00:13:21
>>850
文字の集合と文法の集合の組
853デフォルトの名無しさん:2010/11/06(土) 00:14:28
やーい、答えられねーw
854デフォルトの名無しさん:2010/11/06(土) 00:15:09
文字がない言語が意外に身近にあるわけだが
855デフォルトの名無しさん:2010/11/06(土) 00:15:23
>>852
データベース言語とかマークアップ言語とかありますので
856デフォルトの名無しさん:2010/11/06(土) 00:17:11
>>854
そういう要素を「文字(アルファベット)」って言うんだよ
857デフォルトの名無しさん:2010/11/06(土) 00:18:41
>>848=>>855は何が言いたいのかわからん
858デフォルトの名無しさん:2010/11/06(土) 00:19:54
データベース言語とかマークアップ言語とかありますので
859デフォルトの名無しさん:2010/11/06(土) 00:21:01
データベース言語とかマークアップ言語とかありますので
860デフォルトの名無しさん:2010/11/06(土) 00:21:38
>>857
お前「言語」って何かわかってないだろ
861デフォルトの名無しさん:2010/11/06(土) 00:22:06
データベース言語とかマークアップ言語とかありますので
862デフォルトの名無しさん:2010/11/06(土) 00:22:44
お前「言語」って何かわかってないだろ
863デフォルトの名無しさん:2010/11/06(土) 00:23:45
データベース言語とかマークアップ言語とかありますので
864デフォルトの名無しさん:2010/11/06(土) 00:24:47
お前「言語」って何かわかってないだろ
865デフォルトの名無しさん:2010/11/06(土) 00:25:15
データベース言語とかマークアップ言語とかありますので
866デフォルトの名無しさん:2010/11/06(土) 00:25:37
そんなことはみんな知ってるし聞いてない
867デフォルトの名無しさん:2010/11/06(土) 00:26:13
データベース言語とかマークアップ言語とかありますので
868デフォルトの名無しさん:2010/11/06(土) 00:26:59
お前「言語」って何かわかってないだろ
869デフォルトの名無しさん:2010/11/06(土) 00:27:19
データベース言語とかマークアップ言語とかありますので
870デフォルトの名無しさん:2010/11/06(土) 00:28:06
データベース言語とかマークアップ言語とかありますので
871デフォルトの名無しさん:2010/11/06(土) 00:28:47
データベース言語とかマークアップ言語とかありますので
872デフォルトの名無しさん:2010/11/06(土) 00:29:34
データベース言語やマークアップ言語ってマクロなの?
873デフォルトの名無しさん:2010/11/06(土) 00:29:45
データベース言語とかマークアップ言語とかありますので
874デフォルトの名無しさん:2010/11/06(土) 00:30:51
データベース言語とかマークアップ言語とかありますので
875デフォルトの名無しさん:2010/11/06(土) 00:31:18
>>872
お前「言語」って何かわかってないだろ
876デフォルトの名無しさん:2010/11/06(土) 00:31:59
データベース言語とかマークアップ言語とかありますので
877デフォルトの名無しさん:2010/11/06(土) 00:32:26
>>875
データベース言語とかマークアップ言語とかありますので
878デフォルトの名無しさん:2010/11/06(土) 00:33:29
マクロ言語とかありますので
879デフォルトの名無しさん:2010/11/06(土) 00:33:35
データベース言語とかマークアップ言語とかありますので
880デフォルトの名無しさん:2010/11/06(土) 00:34:38
データベース言語とかマークアップ言語とかはマクロなので
881デフォルトの名無しさん:2010/11/06(土) 00:35:12
マクロ言語とかありますので、マクロは言語じゃないので
882デフォルトの名無しさん:2010/11/06(土) 00:35:25
>>875
データベース言語とかマークアップ言語とかありますので
883デフォルトの名無しさん:2010/11/06(土) 00:37:21
C言語のマクロはマクロ言語なので
884デフォルトの名無しさん:2010/11/06(土) 00:37:32
データベース言語とかマークアップ言語とかありますので
885デフォルトの名無しさん:2010/11/06(土) 00:37:53
C言語のマクロはデータベース言語とかマークアップ言語なので
886デフォルトの名無しさん:2010/11/06(土) 00:38:18
データベース言語とかマークアップ言語とかありますので
887デフォルトの名無しさん:2010/11/06(土) 00:38:31
データベース言語とかマークアップ言語とかありますので
888デフォルトの名無しさん:2010/11/06(土) 00:38:34
>>1-1000
お前「言語」って何かわかってないだろ
889デフォルトの名無しさん:2010/11/06(土) 00:39:11
>>888
データベース言語とかマークアップ言語とかありますので
890デフォルトの名無しさん:2010/11/06(土) 00:39:28
データベース言語とかマークアップ言語とかありますので
891デフォルトの名無しさん:2010/11/06(土) 00:40:08
データベース言語とかマークアップ言語とかありますので
892デフォルトの名無しさん:2010/11/06(土) 00:40:19
データベース言語とかマークアップ言語とかありますので
893デフォルトの名無しさん:2010/11/06(土) 00:40:44
データベース言語とかマークアップ言語とかありますので
894デフォルトの名無しさん:2010/11/06(土) 00:41:19
結局これで埋めるのか。よほど悔しかったんだな
895デフォルトの名無しさん:2010/11/06(土) 00:41:20
データベース言語とかマークアップ言語とかありますので
896デフォルトの名無しさん:2010/11/06(土) 00:41:39
ええ、悔しくて夜も眠れません。
897デフォルトの名無しさん:2010/11/06(土) 00:42:09
>>894
データベース言語とかマークアップ言語を馬鹿にするなよ屑
898デフォルトの名無しさん:2010/11/06(土) 00:42:20
データベース言語とかマークアップ言語とかありますので
899デフォルトの名無しさん:2010/11/06(土) 00:42:54
データベース言語とかマークアップ言語とかありますので
900デフォルトの名無しさん:2010/11/06(土) 00:43:23
データベース言語とかマークアップ言語とかありますので
901デフォルトの名無しさん:2010/11/06(土) 00:43:35
データベース言語とかマークアップ言語とかありますので
902デフォルトの名無しさん:2010/11/06(土) 00:44:17
データベース言語とかマークアップ言語とかありますので
903デフォルトの名無しさん:2010/11/06(土) 00:44:23
Cのマクロしか知らない奴は、あまりマクロがどうとか一般論的に言うなよ
904デフォルトの名無しさん:2010/11/06(土) 00:44:39
なんにしてもCのマクロは少し機能が足りない
905デフォルトの名無しさん:2010/11/06(土) 00:45:15
>>903は一体どんなマクロを見せてくれるのでしょうか
906デフォルトの名無しさん:2010/11/06(土) 00:45:42
データベース言語とかマークアップ言語とかありますので
907デフォルトの名無しさん:2010/11/06(土) 00:45:52
データベース言語とかマークアップ言語とかありますので
908デフォルトの名無しさん:2010/11/06(土) 00:46:54
データベース言語とかマークアップ言語ってCのマクロになんか関係あるの?
909デフォルトの名無しさん:2010/11/06(土) 00:48:23
>>908
すべてマクロ言語
910デフォルトの名無しさん:2010/11/06(土) 00:48:32
>>908
「言語」には関係あるだろ
911デフォルトの名無しさん:2010/11/06(土) 00:49:49
置き換えも、AならばBである。というもっとも単純な論理型言語と言えなくもないかもしれないだろ
912デフォルトの名無しさん:2010/11/06(土) 00:50:17
データベース言語とかマークアップ言語とかありますので
913デフォルトの名無しさん:2010/11/06(土) 00:51:42
>>911
言語であることは正しいが、論理型言語という言葉は誤解を生むぞ
914デフォルトの名無しさん:2010/11/06(土) 00:53:31
>>911
論理型言語ってのはPrologみたいなのを指すんだけど、Cのマクロとはちょっと違う気がする
あと、上でなんか誤解している人がいるがCのマクロは正則言語だよ
915デフォルトの名無しさん:2010/11/06(土) 00:54:21
>>914
データベース言語とかマークアップ言語とかありますので
916デフォルトの名無しさん:2010/11/06(土) 00:55:43
藻前らここでも見て勉強汗
http://studiokingyo.fc2web.com/
917914:2010/11/06(土) 00:58:00
間違えた
Cの仕様書を見る限りCのマクロはCFLと言ってもよさそうだね;
918デフォルトの名無しさん:2010/11/06(土) 00:58:12
>>914誤解してる奴がアホなだけ
919デフォルトの名無しさん:2010/11/06(土) 01:00:02
>>12-1000
データベース言語とかマークアップ言語とかありますので
920デフォルトの名無しさん:2010/11/06(土) 01:02:32
>>914
それはCのマクロが貧弱極まりないから
921デフォルトの名無しさん:2010/11/06(土) 01:07:37
そりゃ論理型言語になるように機能追加してったら論理型言語になるだろうよ
922デフォルトの名無しさん:2010/11/06(土) 01:09:59
文字列結合マクロってコンパイラによってできないのがあるんだっけ?
923デフォルトの名無しさん:2010/11/06(土) 01:13:19
関数型でもいいわけで
LISPのマクロには敵いません
924デフォルトの名無しさん:2010/11/06(土) 01:15:20
誰かCにlambda式を追加してあげなよ。かわいそう
925デフォルトの名無しさん:2010/11/06(土) 01:16:10
と思ったらあった。プログラミング言語C with lambda。
926デフォルトの名無しさん:2010/11/06(土) 01:16:23
>>924
C++ならBoostがあるが、C言語にはそういうライブラリないの?
927デフォルトの名無しさん:2010/11/06(土) 01:22:57
Cは関数オブジェクトをもっと扱いやすくしてくれたらいいのに
無名関数とか使えたら便利
928デフォルトの名無しさん:2010/11/06(土) 01:27:14
組み込みではマクロ使うのは割と普通だよ
929デフォルトの名無しさん:2010/11/06(土) 01:34:36
#define int long
930デフォルトの名無しさん:2010/11/06(土) 02:22:37
    List<int> a;
#pragma scala
    a = for (x <- 0 until 10) yield (x, x * x);
#pragma end scala
931デフォルトの名無しさん:2010/11/06(土) 03:46:23
931get
932デフォルトの名無しさん:2010/11/06(土) 04:15:59
あずにゃん
933デフォルトの名無しさん:2010/11/06(土) 09:03:46
>>715
あの統合開発環境の画面から察して、
LabVIEWかVisualAdaだろ。
もしかしたらMindstormかもしれないけど。

ちなみにOSを書き換えた訳じゃないぞ。
台詞を聞けば分かるように、パラメータの最適化と
制御モジュール切り捨てて軽くしただけだ。
制御モジュール捨てたせいで、キラ以外に扱えない機体になったけどな。
934デフォルトの名無しさん:2010/11/06(土) 11:48:33
簡単に言うと RegSeeker ってことかw
935デフォルトの名無しさん:2010/11/06(土) 12:45:54
>>933
コードが全く表示されてなかったのは?
936デフォルトの名無しさん:2010/11/06(土) 13:56:38
ウニョ
937デフォルトの名無しさん:2010/11/06(土) 17:01:49
ウニョ
938デフォルトの名無しさん:2010/11/06(土) 18:06:22
あずにゃん
939デフォルトの名無しさん:2010/11/06(土) 18:31:54
ペロペロ
940デフォルトの名無しさん:2010/11/06(土) 19:05:27
#define INC(x) ( (x) = (x)++ + ++(x) )

int n = 0;
n = INC(n) + 1;
941デフォルトの名無しさん:2010/11/06(土) 19:42:33
ウニョ
942デフォルトの名無しさん:2010/11/06(土) 19:51:41
荒らしは運営に通報した!
943デフォルトの名無しさん:2010/11/06(土) 20:12:36
ウニョ
944デフォルトの名無しさん:2010/11/06(土) 20:18:53
ビットシフトはなんの役に立つのでしょうか?
945デフォルトの名無しさん:2010/11/06(土) 20:21:08
埋め
946デフォルトの名無しさん:2010/11/06(土) 20:49:31
mallocで確保したメモリが本当に初期化されていないか
この目で確かめてみたいのですが
何か良い方法ありませんか?
947デフォルトの名無しさん:2010/11/06(土) 20:55:49
>>946
デバッガで見るか、printf()で出してみるか。
948デフォルトの名無しさん:2010/11/06(土) 20:59:38
そもそも初期化って意味わかってんのか?
949デフォルトの名無しさん:2010/11/06(土) 21:00:42
>mallocで確保したメモリが本当に初期化されていないか
なんかワロタww
950デフォルトの名無しさん:2010/11/06(土) 21:02:36
不定値が常に0だったとしても違反ではないんだぞ
951デフォルトの名無しさん:2010/11/06(土) 21:03:20
フフフフフフフフフフフフフフフフ
952デフォルトの名無しさん:2010/11/06(土) 21:05:13
どっかで「malloc()でとったメモリ、初期化してねーのかよ、ど素人かよ」とか
煽られてムカついてなんとか言い返したいのかなとか、想像してみる。
953デフォルトの名無しさん:2010/11/06(土) 21:06:00
>>952
そういう経験をしたのですね
954デフォルトの名無しさん:2010/11/06(土) 21:10:47
955デフォルトの名無しさん:2010/11/06(土) 21:11:02
>>952
だとしてもそんな処理系依存の答えを返したらもっと笑われるだろ
956デフォルトの名無しさん:2010/11/06(土) 21:12:32
>>955
そこまで分かってたら、初期化されていないか目で確かめたいって発想がわかないと思う。
957デフォルトの名無しさん:2010/11/06(土) 21:13:49
┏━━━━━━━━━━━━┓
┃初期化しませんか?   ┃
┃            ┃
┃   [はい][いいえ]┃
┗━━━━━━━━━━━━┛

958デフォルトの名無しさん:2010/11/06(土) 21:17:21
値を確認することは出来るかもしれないが
肉眼で確認するのは難しいんじゃないか?
959デフォルトの名無しさん:2010/11/06(土) 21:19:29
たまたま全部0だった場合に何て言い出すのか気になるw
960デフォルトの名無しさん:2010/11/06(土) 21:25:58
初期化はされるものじゃなくてするものだよ。
961デフォルトの名無しさん:2010/11/06(土) 21:27:16
962デフォルトの名無しさん:2010/11/06(土) 21:33:06
初期化はするものじゃなくてされるものだよ。
963デフォルトの名無しさん:2010/11/06(土) 21:36:57
この速さなら言える!初期化!
964デフォルトの名無しさん:2010/11/06(土) 21:41:08
最近はセキュリティー上の配慮もあって
0で初期化されたメモリを返す処理系も多いけどな。
Windowsも初期化されたメモリを割り当てるんじゃ無かったけっけ?

965デフォルトの名無しさん:2010/11/06(土) 21:42:09
だから何?
966デフォルトの名無しさん:2010/11/06(土) 21:43:27
>>965
mallocは初期化するじゃんwww
967デフォルトの名無しさん:2010/11/06(土) 21:44:55
だからそれは初期化じゃねんだってば。
968デフォルトの名無しさん:2010/11/06(土) 21:47:20
>>967
最近はセキュリティー上の配慮もあって
0で初期化されたメモリを返す処理系も多いけどな。
Windowsも初期化されたメモリを割り当てるんじゃ無かったけっけ?
969デフォルトの名無しさん:2010/11/06(土) 21:48:18
んなことない
970デフォルトの名無しさん:2010/11/06(土) 21:49:33
>>969
初期化されないOSなんてセキュリティホールそのものだから早く捨てろよ
971デフォルトの名無しさん:2010/11/06(土) 21:52:44
バカが来たようだ
972デフォルトの名無しさん:2010/11/06(土) 21:56:13
>>968
いま見てみたらgccでもvcでも初期化されてないようだ。
973デフォルトの名無しさん:2010/11/06(土) 22:00:57
こんな屁理屈言うってことは >>952 みたいな感じなんだろうな。
974デフォルトの名無しさん:2010/11/06(土) 22:09:52
次スレ立てます
975デフォルトの名無しさん:2010/11/06(土) 22:11:24 BE:189342645-S★(531777)
次スレ立てました
C言語なら俺に聞け(入門編)Part 73
http://hibari.2ch.net/test/read.cgi/tech/1289049065/
976デフォルトの名無しさん:2010/11/06(土) 22:18:28
立派なのが起ちました
977デフォルトの名無しさん:2010/11/06(土) 23:04:55
Win32APIでOpenProcess()があるけど、GCCでそれ相当の関数ってありますか?

Window環境とLinux環境で別プロセスのメモリ内容を参照したいんですけど、
Windowsは、OpenProcess()使えば出来そうなのですが、
Linuxでの手段が思い当たりませんでした・・・
978デフォルトの名無しさん:2010/11/06(土) 23:05:42
fork()
979デフォルトの名無しさん:2010/11/06(土) 23:07:34
ptrace(2)
980デフォルトの名無しさん:2010/11/06(土) 23:20:38
mallocはメモリを確保する
確保=初期化なんだから、初期化されてると見なしてもいい
981デフォルトの名無しさん:2010/11/06(土) 23:28:24
埋め
982デフォルトの名無しさん:2010/11/06(土) 23:28:57
>>977
ptrace で ATTACH して /proc/<プロセスID>/mem を open して seek して read するといいらしいよ
983デフォルトの名無しさん:2010/11/06(土) 23:29:14
>>982
984デフォルトの名無しさん:2010/11/06(土) 23:30:29
データベース言語とかマークアップ言語とかありますので
985デフォルトの名無しさん:2010/11/06(土) 23:32:19
埋め
986デフォルトの名無しさん:2010/11/06(土) 23:33:01
教えて頂き、ありがとうございます。
試してみます!
987946:2010/11/06(土) 23:35:50
>>949
セキュリティプログラミングのPDFを読んでいてた。
mallocで確保されたメモリが初期化されていなかたために、
脆弱性を作り出してしまったって記事を読んだ。
なので、本当にmallocで初期化されたメモリが初期化されていないか確かめたかったわけ

>>980
それってさ、もっと高級な言語の話じゃないの
988デフォルトの名無しさん:2010/11/06(土) 23:37:25
>>980
馬鹿発見
989デフォルトの名無しさん:2010/11/06(土) 23:40:52
>>987
>なので、本当にmallocで初期化されたメモリが初期化されていないか確かめたかったわけ
初期化されていないデータがどのようなものか調べないと意味がない。
初期化されないなんてのははっきりいって規格にも書いてあること。
990デフォルトの名無しさん:2010/11/06(土) 23:43:24
>>988
釣られるなよ
991デフォルトの名無しさん:2010/11/06(土) 23:45:48
ウニョ
992デフォルトの名無しさん:2010/11/06(土) 23:51:08
ピャピャピャー
993デフォルトの名無しさん:2010/11/06(土) 23:52:15
データベース言語とかマークアップ言語とかありますので
994デフォルトの名無しさん:2010/11/06(土) 23:52:42
だから、0クリアされてたとしても
それは初期化とはいえんだろ。
初期化の意味わかってんのか?
995デフォルトの名無しさん:2010/11/06(土) 23:53:02
callocってのがなかったっけ
996デフォルトの名無しさん:2010/11/06(土) 23:53:50
コピペの奴はそうとう悔しかったんだな
997デフォルトの名無しさん:2010/11/06(土) 23:54:01
>>995
ある。そっちは初期化される。
998デフォルトの名無しさん:2010/11/06(土) 23:54:11
えっ
999デフォルトの名無しさん:2010/11/06(土) 23:58:41
calloc使え
1000デフォルトの名無しさん:2010/11/06(土) 23:58:46
Haskellが1000get
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。