C言語なら俺に聞け

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ないから立てた
2デフォルトの名無しさん:2014/03/05(水) 05:43:32.04
前スレ
C言語なら俺に聞け
http://toro.2ch.net/test/read.cgi/tech/1390954735/

前スレがほぼ1ヶ月で消化してる。
この板には1000まで10年経かかってるスレもある中で、
(入門用)などないこっちが正統であるという民意に相違ない。
ナンバリングはよくわからんが次回からでも復活させてくれ。

関連スレ
C言語なら俺に聞け(入門編)Part 125
http://toro.2ch.net/test/read.cgi/tech/1392482954/
3デフォルトの名無しさん:2014/03/05(水) 05:46:37.47
質問です
func()
{
static char *p2;
p2=malloc(3);
func()
}
実行すると、p2はどうなりますか?
4デフォルトの名無しさん:2014/03/05(水) 05:48:51.67
よくわからんけど住み分けてたんでしょ?
この板で1ヶ月足らずで消化するとか尋常じゃねえし
5デフォルトの名無しさん:2014/03/05(水) 10:50:20.14
ぬるぽ
6デフォルトの名無しさん:2014/03/05(水) 11:04:05.67
>>3
ケース1
1 スタックが尽きて異常終了する
2 mallocがNULLを返し、p2がNULLになる
1と2のどちらが先に発生するか環境依存

ケース2
スタックは一周する。尽きないがmallocの管理している領域を壊す、その結果
1 異常終了する
2 何らかの意味のないポインタ値が無限に代入され続ける

ケース3
スタックは一周する。尽きない。mallocの管理している領域とは分離されている
NULLが無限に代入され続ける
7デフォルトの名無しさん:2014/03/05(水) 13:45:51.40
スタックが一周するってどういう環境?
8デフォルトの名無しさん:2014/03/05(水) 15:46:50.08
8086
9デフォルトの名無しさん:2014/03/09(日) 16:15:52.46
このケースならfunc()をサブルーチンコールするのではなくて分岐命令になるのではないのかな
10デフォルトの名無しさん:2014/03/11(火) 07:04:42.83
ゲームの当たり判定って四角形のほうがいいですか?
円だと二乗の計算が出てくるから重い気がするのですが
11前スレ997:2014/03/11(火) 07:06:29.38
ありがとうございました!
12デフォルトの名無しさん:2014/03/11(火) 07:08:37.30
C言語で絵入りQRコードを作るにはどうしたらいいですか?
QRコードの色を部分的に変えるだけのやつではなく
真ん中にアイコン入れたりしてあるやつです
13デフォルトの名無しさん:2014/03/11(火) 08:30:32.99
誤り訂正レベルを高くして作ったQRコードに無理やりかさねる
許容される大きさとかは実験的に調べる
14デフォルトの名無しさん:2014/03/11(火) 16:51:18.35
TCP/IPの通信プログラムについて質問です。
接続の時は、open()=SYNを送るという動きっぽいですが、
「close()=FINを送る」ではないのでしょうか?
ステップ実行しながらWireSharkで通信見てた所、
close実行まえに勝手にFINが出ちゃう気がします。
15デフォルトの名無しさん:2014/03/11(火) 16:52:01.67
大きいデータ読み込むときどうすればいいですか?
char[1000000][32]の配列を作りたいんですが
16デフォルトの名無しさん:2014/03/11(火) 16:56:13.28
>>15
malloc,calloc
17デフォルトの名無しさん:2014/03/11(火) 16:56:23.92
>>15
char *array[32];
for (i = 0; i < 32; i++) {
 array[i] = malloc(1000000);
}
18デフォルトの名無しさん:2014/03/11(火) 18:04:49.72
>>14
タイムアウトしてるとか、相手から RST くらってるとか
19デフォルトの名無しさん:2014/03/11(火) 20:03:27.11
質問です。

100 - ( 2 * ( 3 + 1 ) ) * 4 + 45 / ( 17 - 8 )

この式をC言語で計算するにはどうしたらいいでしょうか。
この式は文字列として与えられます。
20デフォルトの名無しさん:2014/03/11(火) 20:20:23.58
double calc_str(char *str)
{
return 100 - ( 2 * ( 3 + 1 ) ) * 4 + 45 / ( 17 - 8 );
}
21デフォルトの名無しさん:2014/03/11(火) 20:21:13.00
しくった.0にしていない
22デフォルトの名無しさん:2014/03/11(火) 20:24:12.46
と思ったけどこの計算ならintでよかったな
23片山博文MZジェバンニ ◆T6xkBnTXz7B0 :2014/03/11(火) 23:05:57.02
>>19
パーサジェネレータ
24デフォルトの名無しさん:2014/03/13(木) 15:13:40.52 ID:dyPbFnv9
7年前のこれが本来の前スレかな。
【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 130
http://toro.2ch.net/test/read.cgi/tech/1159613789/
25デフォルトの名無しさん:2014/03/16(日) 16:55:54.24 ID:uzDcpeCR
>>19 逆ポーランド変換
www.logical-paradox.org/ja/nsxbasic/nsxbasic3.html
26デフォルトの名無しさん:2014/03/17(月) 14:07:32.11 ID:pBjgcJ9b
C言語ってなんだよ、Cだろ。
27デフォルトの名無しさん:2014/03/17(月) 18:08:25.60 ID:7shZynbj
自己参照構造体の延長?で
構造体(親)の中にある構造体(子)の要素に
親の構造体のアドレスを格納したいんだけど
下の書き方だとコンパイラにBASE_BLOCKが無い的な感じではじかれしまう
今の所 void* で親の構造体をポイントして動かしているんだけど
自己参照構造体みたいに
うまいtypedefの書き方って何かないですかね?

構造体@
typedef struct{
  void *blk; // 現状
// BASE_BLOCK *blk; // 構造体Bへの参照(こんな感じにしたい)
  char a,b,c;
} DATA1_BLK;

構造体A
typedef struct{
  void *blk; // 上と同じイメージ
// BASE_BLOCK *blk;
  long a,b,c;
} DATA2_BLK;

構造体B
typedef struct _BASE_BLOCK{
  DATA1_BLK d1;
  DATA2_BLK d2;
  struct _BASE_BLOCK *next;
  struct _BASE_BLOCK *before;
} BASE_BLOCK; // typedef はここ
28デフォルトの名無しさん:2014/03/17(月) 18:38:26.88 ID:qNLDgXjv
出来そこないのプログラマが自慢大会するスレはここですか?
29デフォルトの名無しさん:2014/03/18(火) 02:08:28.97 ID:G12u9CCe
>>27
貴重な時間を使ってまで糞コードを考えるなんて
常人にはできないやりかた
30デフォルトの名無しさん:2014/03/18(火) 07:36:00.64 ID:CNPmaNLY
とりあえずgcc-3.4.4ではこんな感じで大丈夫だった

typedef struct _BASE_BLOCK BASE_BLOCK2; //二重定義にならないよう別名
typedef struct{
   BASE_BLOCK2 *blk;
   char a,b,c;
} DATA1_BLK;

typedef struct{
   BASE_BLOCK2 *blk;
   long a,b,c;
} DATA2_BLK;

typedef struct _BASE_BLOCK{
   DATA1_BLK d1;
   DATA2_BLK d2;
   struct _BASE_BLOCK *next;
   struct _BASE_BLOCK *before;
   int   a;
} BASE_BLOCK;
31デフォルトの名無しさん:2014/03/18(火) 07:36:44.00 ID:CNPmaNLY
あ、自分で追加したint aが残ってた
32デフォルトの名無しさん:2014/03/18(火) 09:47:58.86 ID:G12u9CCe
>>30
また誰も得をしないオナニーコードを書く狂人が現れた
オワコンCプログラマはこんなところでオナカキコしても誰も見向きもしない

気持ち悪いだけだからム板から出ていけ
33デフォルトの名無しさん:2014/03/18(火) 10:00:27.41 ID:RDFvC1WB
これがエラーになる(C89以降の)コンパイラは見たことないし、仕様を満たしていない。
typedef struct hoge hoge;
typedef struct hoge {
int hoge;
} hoge;
34デフォルトの名無しさん:2014/03/18(火) 10:19:19.05 ID:G12u9CCe
>>33
まーたhoge厨か
ゴミプログラマがよく使う記号だよな
>>33みたいなゴミ老害がのさばっていいスレじゃないからこのスレから出ていけ
35デフォルトの名無しさん:2014/03/18(火) 10:27:53.77 ID:RDFvC1WB
釣れた。やはり荒らしてるのはアンチhogeのチョーセン人だったか。
36デフォルトの名無しさん:2014/03/18(火) 10:34:16.00 ID:v3bNYbuZ
struct のタグ名 typedef 名 構造体のメンバ名
一番最後の衝突は(本能的にNGな感じだけど)考えたことはないな 
37デフォルトの名無しさん:2014/03/18(火) 10:41:15.56 ID:6BNvI/8X
>>34
死ねよゴミ

>>35
一緒にカスウヨも死ねよ
38デフォルトの名無しさん:2014/03/18(火) 10:45:24.87 ID:G12u9CCe
>>35
hogeを使う輩は例外なく老害ゴミプログラマ
C関係スレは書き込み時間帯がおかしすぎる
仕事してない人たちばっかりだね、老害スレはム板にとって不吉な存在なので
削除したほうがいい
39デフォルトの名無しさん:2014/03/18(火) 11:08:04.06 ID:6BNvI/8X
てめぇが自分の存在を削除すれば解決!
40デフォルトの名無しさん:2014/03/18(火) 12:37:19.68 ID:RDFvC1WB BE:1306355472-2BP(1000)
こっちの方がより適切だな
typedef struct hoge hoge;
typedef struct hoge {
hoge *hoge;
} hoge;
41デフォルトの名無しさん:2014/03/18(火) 12:41:10.85 ID:G12u9CCe
>>39
お前が自分の存在を削除すれば解決
42デフォルトの名無しさん:2014/03/18(火) 14:28:04.24 ID:6BNvI/8X
低能はとっとと帰んなさい
43デフォルトの名無しさん:2014/03/18(火) 15:20:42.07 ID:G12u9CCe
自己紹介しないで
44デフォルトの名無しさん:2014/03/18(火) 15:25:00.65 ID:6BNvI/8X
自己紹介しかしてないバカが何言ってるの?
45デフォルトの名無しさん:2014/03/18(火) 15:25:49.92 ID:6BNvI/8X
> 時間帯がおかしすぎる
> 仕事してない人たちばっかりだね、老害

これも自己紹介だったみたいだねw
46デフォルトの名無しさん:2014/03/18(火) 16:23:25.72 ID:D+JCMuhn
連投荒らしはuyかQだろうな
他にいねえよ
47デフォルトの名無しさん:2014/03/18(火) 16:56:30.95 ID:G12u9CCe
hogeしてる奴らは周りに迷惑かけてるのがわからないのか
48デフォルトの名無しさん:2014/03/18(火) 17:09:55.69 ID:5NbZVbDL
君もほげとかぴよとか使っていいんだよ(太っ腹)
49デフォルトの名無しさん:2014/03/18(火) 17:14:37.08 ID:v3bNYbuZ
50デフォルトの名無しさん:2014/03/18(火) 17:15:26.06 ID:D+JCMuhn
>>47
あ、これでわかった
お前精神科まだ行ってなさそうだからQじゃなくてuyだな
51デフォルトの名無しさん:2014/03/18(火) 17:18:24.38 ID:D+JCMuhn
>>47
お前の存在そのものが周りに迷惑を掛けているのが分からないのか
52デフォルトの名無しさん:2014/03/18(火) 17:25:03.25 ID:G12u9CCe
>>51
迷惑かけているのは間違いなくhoge厨です
53デフォルトの名無しさん:2014/03/18(火) 17:39:42.38 ID:6BNvI/8X
おまえが間違ってるから
54デフォルトの名無しさん:2014/03/18(火) 18:05:23.73 ID:rfN06h31
aとかbとか使うやつに比べりゃ数倍良いと思うんだが>hoge
55デフォルトの名無しさん:2014/03/18(火) 18:08:19.11 ID:6BNvI/8X
ゴミが主張してるだけだから
56デフォルトの名無しさん:2014/03/18(火) 18:18:58.53 ID:G12u9CCe
hoge使う奴ってほんとhogeしか使わないし凄い不快
57デフォルトの名無しさん:2014/03/18(火) 18:26:17.22 ID:6BNvI/8X
何が彼をここまでこじらせてしまったのか?
58デフォルトの名無しさん:2014/03/18(火) 18:31:28.53 ID:G12u9CCe
響きが気持ち悪いよねhogeって
これに固着する意味がわからん
59デフォルトの名無しさん:2014/03/18(火) 18:51:33.92 ID:6ldE9qSk
知るかボケw
要するにゆとり世代だからじゃねーかw
60デフォルトの名無しさん:2014/03/18(火) 19:01:51.99 ID:xgiNCNGW
お前の頭に「固着」してるんだよw
61デフォルトの名無しさん:2014/03/18(火) 21:07:45.35 ID:G12u9CCe
頭にhogeがこびりついてとれないんだな哀れ
62デフォルトの名無しさん:2014/03/18(火) 21:14:20.14 ID:xgiNCNGW
自己紹介か?
63デフォルトの名無しさん:2014/03/18(火) 22:10:44.98 ID:2YKt0V/o
>>61
fooとbarはどうなんだよ
64デフォルトの名無しさん:2014/03/18(火) 22:17:25.80 ID:G12u9CCe
hoge厨は何から何までhogeで表現するからキモがられる
hogehogeまで使ってくるしな
65デフォルトの名無しさん:2014/03/18(火) 23:00:11.13 ID:xgiNCNGW
オワコン人間が10もレスを投下して楽しい?
66デフォルトの名無しさん:2014/03/18(火) 23:35:07.20 ID:xgiNCNGW
何も言えないのかなw
67デフォルトの名無しさん:2014/03/18(火) 23:35:44.97 ID:G12u9CCe
どうしたの?hogeしたいの?
68デフォルトの名無しさん:2014/03/18(火) 23:36:59.52 ID:xgiNCNGW
想像力も、現実を知る力も、欠片もないんだなw
69デフォルトの名無しさん:2014/03/18(火) 23:43:26.50 ID:xgiNCNGW
意味不明なゴミ書き込みを排泄するドカた以下のゴミは黙れよ
70デフォルトの名無しさん:2014/03/19(水) 10:29:21.71 ID:jbaTmMPB
人生ノーグッドのバカ荒らし君は今日も元気かな?
71デフォルトの名無しさん:2014/03/19(水) 10:53:54.70 ID:pgTJKr0l
相変わらずCスレはニートタイム全開でレスがつきますね
このスレの異常性がうかがえますわ
72デフォルトの名無しさん:2014/03/19(水) 10:57:19.82 ID:jbaTmMPB
ニートパワー全開で嫌がらせレスを書き込み続けている異常者が何を言ってるの?
73デフォルトの名無しさん:2014/03/19(水) 11:09:01.83 ID:pgTJKr0l
ろくにコードすらかけないCグラマーは相変わらず抽象概念でしか物を語ることが出来ないね
74デフォルトの名無しさん:2014/03/19(水) 11:13:04.05 ID:jbaTmMPB
まともな抽象化すらできないバカが何か言ってるw
75デフォルトの名無しさん:2014/03/19(水) 11:29:38.56 ID:jbaTmMPB
存在する意味が無いから安心して消えていいんだよ?
76デフォルトの名無しさん:2014/03/19(水) 11:44:58.69 ID:pgTJKr0l
アハハハハ、自己紹介がうまい
Cスレで煽ってくる奴等ってなぜか罵倒してるつもりが自分にはね返ってるよね
自噴のCの実力の劣等感から生じる衝動だと思うけどみっともないから止めたほうがいいと思うよ
77デフォルトの名無しさん:2014/03/19(水) 12:35:45.01 ID:jbaTmMPB
これぞ自己紹介。
全部自分に跳ね返ってるから、生きるの止めた方がいいと思うよ。
78デフォルトの名無しさん:2014/03/19(水) 21:03:49.54 ID:CAPa6Vgr
hogeって響きが嫌なら、尚更hogeの役割を果たせてるってことで完璧じゃん
「実用のコードでは適宜書き換えてくださいね」って場所に使う識別子なんだから
嫌がられるくらいでなきゃ困るんだよ
79デフォルトの名無しさん:2014/03/19(水) 21:20:26.89 ID:pgTJKr0l
いやhogeに執着してる奴はとことん執着してる
しかも半端にうまいコードを毎回記述しようとしているから困る
hogeはウンコードでなければなりません、臭くなければなりません
hoge厨は住人の顰蹙を買うだけの不要な存在
80デフォルトの名無しさん:2014/03/19(水) 21:23:27.49 ID:jbaTmMPB
> 住人の顰蹙を買うだけの不要な存在

これまた見事な自己紹介だなwwwww
81デフォルトの名無しさん:2014/03/19(水) 21:42:03.76 ID:0SFSV+5e
そりゃー チョーセン人ですから
82デフォルトの名無しさん:2014/03/20(木) 09:49:48.35 ID:0GGGoo3n
深夜3時にレスをバカにする超絶暇人バカは今日も暇なのかな
83デフォルトの名無しさん:2014/03/20(木) 10:44:28.63 ID:0GGGoo3n
2ちゃんねるはお前の便所じゃねーんだよ。
必死にゴミを書き込むなカス。
84デフォルトの名無しさん:2014/03/21(金) 09:30:20.96 ID:HWKg4coe
Rubyスレ荒らしてるんじゃねーよカス
だれもお前の意見なんて求めてないから消えろゴミクズ糞蛆虫
85デフォルトの名無しさん:2014/03/23(日) 00:44:39.92 ID:ulVc1cS1
age
86デフォルトの名無しさん:2014/03/25(火) 23:02:31.71 ID:1BEA8u0v
27です
ヒントを元に調べてたら
「相互参照」と「不完全な型」辺りをキーワードにしたら
良い感じの答えにたどりつけました
87デフォルトの名無しさん:2014/03/30(日) 01:27:12.01 ID:/qrkiZMx
-(IBAction)goNext:(UIbutton *)sender{
NSUInteger n;
NSArray *arr = @[@0,@1,@2,@3,@4,@5,@6,@7];
for( n=4 ; n<8 ;n++){
label_1.text =arr[n];
label_2.text =arr[n];
label_3.text =arr[n];
label_4.text =arr[n];
}
(ラベルはインスタンス変数で、宣言しています)
これを実行するとarr[7]だけがラベルに表示されてしまいます。
初期値からn++されません。
理由はなぜなのでしょうか?教えてください。
88デフォルトの名無しさん:2014/03/30(日) 06:07:14.74 ID:gN3GGTNV
>>87

先ず第一に、それはC言語ではない。
つまり、スレ違い。

第二に、やりたいことはループにする必要がないのではないか?
つまり、
label_1.text = arr[4];
label_2.text = arr[5];
label_3.text = arr[6];
label_4.text = arr[7];
ではないのか?
いずれにしろ、日本語の勉強も必要だな。
89デフォルトの名無しさん:2014/03/30(日) 09:10:17.86 ID:/qrkiZMx
すみません。
90デフォルトの名無しさん:2014/04/02(水) 15:39:50.78 ID:Q1E5S1db
配列のバブルソートなら
void bubblesort(int a[], int n)
{
int i , j;
int temp;

for (i = 0 ; i < n-1; i++){
for (j = n-1; j > i; j--) {
if (a[j-1] > a[j] ){
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}
}
で出来ますが、
typedef struct person_tag {
int age;
char name[30];
char sex;
} person;
という構造体配列で
person p_array[] = {
{15,"Sayaka Iwata",'F'},
{25,"Ichirou Akagawa",'M'},
{10,"Ryoko Onoe",'F'},
{45,"Taichi Uemura",'M'},
{55,"Madoka Nomura",'F'},
};
とデータを入れてageの昇順に構造体配列をバブルソートするやり方教えて下さい。
91デフォルトの名無しさん:2014/04/02(水) 15:55:29.18 ID:X4pbuSpw
int a[]
 ⇒ person a[]

int temp
 ⇒ person temp

if (a[j-1] > a[j] ){
 ⇒ if (a[j-1].age > a[j].age ){
92デフォルトの名無しさん:2014/04/02(水) 16:23:04.18 ID:Q1E5S1db
素早い〜 w
ありがとうございました!
93デフォルトの名無しさん:2014/04/06(日) 19:56:15.71 ID:2WWdU1gr
◎設問 : 何が出力されるか答えよ

int main(void){
char *c[] = {"ENTER", "NEW", "POINT", "FIRST"};
char **cp[] = {c+3,c+2,c+1,c};
char ***cpp = cp;

printf("%s", **++cpp);
printf("%s ", *--*++cpp+3);
printf("%s", *cpp[-2]+3);
printf("%s\n", cpp[-1][-1]+1);

return 0;
}

答えはもちろん実行してみれば出力されるのですが、
なぜそのようになるのか分かりません (´・ω・`)
94デフォルトの名無しさん:2014/04/06(日) 22:24:20.40 ID:tUu4o0lA
>>93
多分学校の問題か何かだろうけど、非常に筋の悪い設問。
意味の学習としては使えるかもしれないけどね。
配列の要素がメモリ上でどう確保されるかを紙に書いて
学習すればわかりやすい。でもC/C++のポインタ関連は
演算子の優先順位がわかりにくいので、そっちも調べる
必要がある。
95デフォルトの名無しさん:2014/04/09(水) 20:43:30.57 ID:aEvN9O81
リンクリストについて教えてください
構造体が
typedef struct holiday {
int ymd; //e.g 20140101
char holidayname[30]; //元旦
struct holiday *next;
} holiday;

という形であって日付を昇順になるように入れていくのは
直前の構造体のymd < 挿入するymd && 挿入するymd < 現在のymdの時に
直前の構造体のnextを挿入する構造体のアドレスにし、
挿入する構造体のnextを現在のymdの構造体のアドレスにする

というやり方になる…んですよね?
96デフォルトの名無しさん:2014/04/09(水) 21:20:05.75 ID:5sKrTKuO
そう設計したのなら、そうなんでしょうね。
97デフォルトの名無しさん:2014/04/09(水) 21:42:34.98 ID:1czKTaG/
>>95
コードで書いてくれ
98デフォルトの名無しさん:2014/04/09(水) 22:54:21.56 ID:aEvN9O81
>>97
その具体的なやり方を知りたいなぁと思ってるんですが。
とりあえず、あちこちのサイト見ながら作ったのが

http://codepad.org/0ppn3tBz

ソースが汚いとか見にくいってのは勘弁の程を

でinsert_dateのところ 193 〜 198 で

//ここで日付の昇順になるようにつなぎ替える
p = head.next;
while( p != NULL ){
********************** ←ここの部分を教えていただきたいなぁと
p = p->next;
}
99 ◆QZaw55cn4c :2014/04/10(木) 00:12:18.80 ID:4bNYm9hY
>>98
ごめん途中で投げ槍になったから突っ込まんでくれ、でも質問してくれていい
http://codepad.org/TR9iO06H

日付の昇順にしたい、ということで
リンクリストをたどる中で、はじめて

「入力したデータの日付」<「着目ノードの『次』のノードの日付」

となったら、着目リストの後ろに放り込む
でどうかな?
100デフォルトの名無しさん:2014/04/10(木) 10:09:54.47 ID:kr5KR7nN
>>99
102行目などは、printfのあとscanfの前にfflushしないと表示されない
DOSだと出るみたいだけど
275行目 0はTermのほうがいい
101デフォルトの名無しさん:2014/04/10(木) 15:43:59.32 ID:4O9rt8DU
>>99

98です。夜に付き合っていただき感謝。考え方もそちらのほうが単純明快ですね
ポインタのポインタとかなかなかまだそこまでいきませんが(言われれば、あぁなるほど…ではあるんですが^^;)
じっくりソースを見させていただき、自分なりにいじってみたいと想います。
102デフォルトの名無しさん:2014/04/10(木) 22:00:30.41 ID:4bNYm9hY
>>100
!!
thx a lot!

>>101
楽しんでください
103デフォルトの名無しさん:2014/04/13(日) 22:28:58.63 ID:xpFiuadr
入門編じゃないC言語なら俺に聞け
104デフォルトの名無しさん:2014/04/14(月) 12:02:58.12 ID:+4I+vlSz
ポインタを一言で表すとどういった言葉になりますか?
105デフォルトの名無しさん:2014/04/14(月) 12:28:39.89 ID:SRwo2QpI
アドレス
106デフォルトの名無しさん:2014/04/14(月) 12:44:51.10 ID:Bhf4pDIo
指すもの
107デフォルトの名無しさん:2014/04/14(月) 12:59:25.45 ID:hlRl5VC5
面接でポインタを説明してくださいと言われたら?
108デフォルトの名無しさん:2014/04/14(月) 13:24:00.71 ID:Bhf4pDIo
敵が襲ってきても守れます
109デフォルトの名無しさん:2014/04/14(月) 13:58:14.76 ID:MAoTOR9V
ここまで猟犬なし。
110デフォルトの名無しさん:2014/04/14(月) 19:25:49.85 ID:VLpr/JYL
>>103
「貴方がこの会社の面接に来られた理由を、ポインタを使ってわかりやすく
説明してください」
と言われたらどうする?
111デフォルトの名無しさん:2014/04/14(月) 21:58:22.07 ID:M5Q2kr07
そっとドアを閉じて二度と開けません。
112デフォルトの名無しさん:2014/04/14(月) 22:18:22.47 ID:pOLq2nzc
>>104
ひとことは、ムリだろ。ふたことなら…
p = &c;
*p = c;
113デフォルトの名無しさん:2014/04/14(月) 23:14:03.38 ID:w8oFKsTO
>>104
ウルトラ警備隊専用車
114デフォルトの名無しさん:2014/04/14(月) 23:33:43.66 ID:zoHFxkBT
115デフォルトの名無しさん:2014/04/16(水) 16:27:59.69 ID:IgciLmNr
>>104
ダイエット
116デフォルトの名無しさん:2014/04/19(土) 09:56:41.40 ID:Cpm/BfcX
プログラマーの人に聞きたいけど、仕事の速さって優秀な人と
そうでない人で1.5倍くらい差があったりするの?
117デフォルトの名無しさん:2014/04/19(土) 10:03:52.24 ID:SVxJm38+
>>104
間接アドレッシング。
118デフォルトの名無しさん:2014/04/19(土) 10:05:49.26 ID:aOosZTdR
>>116
余裕であると思う。
どんな尺度で測るかは難しいけどね。
開発期間だけで言えば、簡単なツールを10分で作れる人と丸1日かかる人がいる。
複雑なソフトになれば、そこに安定性と保守性という係数が入ってきて差はさらに広がる。
119デフォルトの名無しさん:2014/04/19(土) 10:08:19.46 ID:Cpm/BfcX
>>118
でも丸1日かかるほうが残業代で稼げるとかそういう現状あったりする?
というかIT業界に入れたんだから丸1日が基準なのか10分が基準なのかは
どっちが正解か分からないね、10分で作れる人はよっぽど天才だったりす
るんじゃないだろうか?144倍の開発期間に差があるって中々ないような…
120デフォルトの名無しさん:2014/04/19(土) 10:09:37.61 ID:jSbR7/rV
待遇と相談
121デフォルトの名無しさん:2014/04/19(土) 10:18:10.43 ID:aOosZTdR
>>119
うーん、残業代で稼げる現状も場合によってはあると思う。
でもね、重要な事を見落とさないで欲しい。
優秀な人は自分の力で時間を作り出せるという事ね。
残業代で稼ぐか早く帰るかの選択は優秀な人にしかできないって事。
ぶっちゃけ、優秀な人は嘘をついて工数を水増しできるチャンスがあるけど、時間を作れない人はサビ残を断れない。
122デフォルトの名無しさん:2014/04/19(土) 10:34:32.12 ID:aOosZTdR
>>119
あと、何もゼロから作る事が全てじゃないよ。
ゼロから作るのは遅くても、サッとコピペで作れればそれはそれで優秀。
コピペに限らず、コード流用できそうな事に気づけるか、流用しても問題ないか判断できるかってのも優秀さの一要因だよね。
この辺で10分と1日の差が出てくる。
123デフォルトの名無しさん:2014/04/19(土) 10:41:51.76 ID:7oXT2c0B
会社に入ったらプログラミングがいっぱいできると思ってたのに
業務の9割がドキュメント作成・会議・検査などで、
ほとんどコードを書くことがない
その上、技術技術言ってるやつは下に見られてて、
プログラマーなんかキーパンチャーだと思われてる
プログラミングの経験を積んでベテランプログラマーになって
60歳になってもばりばりコードを書いていたいと思っていたのに
もはやこの業界に居ても目指すべき俺にはなれないと悟ったわ
124デフォルトの名無しさん:2014/04/19(土) 10:43:06.71 ID:pON9XnrA
適切な言語を選べるかというのも有るな。
例えばだが。C++しか使えず、何でもC++でやろうとしている者に対して。
優秀な人は適切な言語を選んで短時間で済ませることが出来る。
125デフォルトの名無しさん:2014/04/19(土) 10:45:42.49 ID:7oXT2c0B
コード書いてるって言ってるのはweb系かゲーム系だろ
126デフォルトの名無しさん:2014/04/19(土) 11:25:47.96 ID:Cpm/BfcX
>>122
ありがとう
凄いんだね10分ってのは…
127デフォルトの名無しさん:2014/04/19(土) 11:48:49.93 ID:ZwC8jtQo
>>126
たとえばさ。
とある機能を改修するときに、
・手間はかかるけど、従来の機能を維持したまま新しい機能を上乗せする
・手間はまあまあだけど、従来の機能そのものに手を入れる

実際にいまのプロジェクトであったことなんだけどね。
よく考えもしないで下の方法で改修をやりやがって、あとから違うバージョン間での互換が問題になった。
上の方法では1日、下の方法では半日で作業が終わるとして、
後から問題になって何時間か会議して、調べて、上の方法で 違 う 人 間 が実装し直すとしてだ。
144 倍ほどの差は出ないとは思うけど、最初から上の方法で実装したときに比べてどれだけ時間を浪費しただろうね。

単純な作業時間だけでなく、目先にことにとらわれない冷静な判断力が必要になることも多いよ。
※ただし、場合によっては上の方法が過剰実装だといって怒られることもある
128デフォルトの名無しさん:2014/04/19(土) 11:57:37.98 ID:aOosZTdR
>>127
目先の楽さを選ぶ傾向って結構多いよね。
で、それで痛い目を見た人は過剰包装に陥りがちなのも確かだと思う。
その間にある落としどころを見つけられる人って少いよね。
129デフォルトの名無しさん:2014/04/19(土) 13:03:07.49 ID:4q5aJb+n
カレントディレクトリを知るのに windowsでは、
currentdir.c
#include <stdio.h>
#include <string.h>
#include <windows.h>

int main(int argc, char* argv[]) {
char curdir[256];

GetCurrentDirectory(sizeof(curdir),curdir);

printf("Current Directory : %s\n",curdir);

return 0;
}

結果
D:\Data>currentdir
Current Directory : D:\Data

で、出せたんですけどここで
windows,.hを使うってことはwindows専用ですよね、これ。
じゃ、windowsが出る前(dosの時)はどうしてたのか?
unixやlinuxでも使えるようにはならないの?って疑問が。
130デフォルトの名無しさん:2014/04/19(土) 13:48:48.93 ID:opS/PlHv
INT 21H、AH=47H とか
getcwd, getwd, get_current_dir_name・・・とか
131デフォルトの名無しさん:2014/04/19(土) 13:50:56.70 ID:Db2IzPol
dosはDOS Service Call(int 21h)で取得してた
unixやlinuxではそういうシステムコールは無かった。procfs以前の実装方法を知ったらびっくりするぞ。
132デフォルトの名無しさん:2014/04/19(土) 14:44:57.38 ID:H2bbwnYf
C言語の仕様にはディレクトリという概念自体が存在しないからな
MS-DOS 1.0 の頃とかディレクトリがないんだっけ?
133デフォルトの名無しさん:2014/04/19(土) 14:54:44.45 ID:q67SPze0
フロッピー1MB行くか行かないかの時代にそんな無駄なものはいらん、いらんのじゃ
134デフォルトの名無しさん:2014/04/19(土) 14:57:51.57 ID:ICvTvL96
昔のUNIXって、サーバもフロッピーだったのか
135デフォルトの名無しさん:2014/04/19(土) 15:09:44.33 ID:LlSFsJPl
CPUに積まれてるFPGAの集積度が年々上がってるのは何故ですか?
何故HDDのメモリは無尽蔵にあがるのに、例えば10TB外付けなどです。
メモリ(キャッシュメモリ、メインメモリ)は中々上がらないのですか?
いくらHDDのメモリ容量があがっても、実行速度に影響するメインメモリ
やCPUの容量が上がらないとダメな気がするのですが、HDDは集積化しや
すくてメインメモリはしにくいのですか?
136デフォルトの名無しさん:2014/04/19(土) 15:10:23.58 ID:j1F3U2CR
>>131
ちょっと調べてみた
/procfs有無はあまり関係ないかも。

新しいlinuxのgetcwd()はシステムコールになっていて、dentry構造体で
ディレクトリ名やparentのリンクが分かるので、リンクを遡ってrootまで辿る。
http://lxr.free-electrons.com/source/fs/dcache.c?v=2.6.36#L1930

古い実装は多分こんな感じ
http://www.opensource.apple.com/source/sudo/sudo-9/sudo/getcwd.c
cwdに一致するinoを、親ディレクトリ("./../")内で探すことで、カレントディレクトリの
名前を取得する、というのをrootまで繰り返す方式。
大量のファイルがあるディレクトリが途中にあると効率悪いね
137デフォルトの名無しさん:2014/04/19(土) 15:20:25.44 ID:q67SPze0
>>135
キャッシュとメインメモリを一緒くたにされちゃ話が進まん
138デフォルトの名無しさん:2014/04/19(土) 15:24:58.56 ID:j1F3U2CR
>>135
CPUに積まれてるFPGAって組み込み用のCPUのこと?
HDDのメモリってSSDのこと?
何を聞きたいのかよくわからんが、なぜ、一般的にHDDの方がメモリより大容量なのか
ということなら、コストの違いだろう。

その結果、遅いけど容量の大きいストレージと、速いけど容量の少ないメモリを
組み合わせてシステムを作るのが最適になる
139デフォルトの名無しさん:2014/04/19(土) 15:25:24.02 ID:LlSFsJPl
>>137
まぁ一緒のものとして
何故メインメモリは集積度があがらないんですか?
HDDは32MB→10TB およそ30万倍
メモリは 32MB→32GB
およそ1000倍
何故ですか?
140デフォルトの名無しさん:2014/04/19(土) 15:30:44.22 ID:LlSFsJPl
何故HDDも早くしないんですか?そうしたらページングみたいな手品
みたいなことしなくても、そのままメモリとして使えるじゃないですか
141デフォルトの名無しさん:2014/04/19(土) 15:39:53.82 ID:j1F3U2CR
HDDはディスクという方式のため遅くなるが、先読みなど速くなるよう工夫されている。
また、たいていのUNIX系のOSなら、mmapでそのままメモリと同様に使えるようになっている。
142デフォルトの名無しさん:2014/04/19(土) 15:53:23.90 ID:q67SPze0
考え方が間違っている

遅いんじゃなくて
速くなったらなったで無駄遣いするヘボが現れるから遅く感じるだけ
ヘボを駆逐しない限り戦いは終わらない
143デフォルトの名無しさん:2014/04/19(土) 17:07:03.01 ID:4q5aJb+n
>C言語の仕様にはディレクトリという概念自体が存在しないからな

うへぇそうなんだ。
144デフォルトの名無しさん:2014/04/19(土) 17:50:52.00 ID:jRqyICOu
>>132
すでに AT&T の時代に UNIX はその大半を C で記述されていたんですけれども
145デフォルトの名無しさん:2014/04/19(土) 18:27:17.58 ID:LuoshK6s
ディレクトリという概念だけでなく、
ドライブという概念まであるMS-DOSは、
UNIX の一歩先を逝っているのかw
146デフォルトの名無しさん:2014/04/19(土) 19:45:23.34 ID:jRqyICOu
>>145
portal fs もいまいち‥‥,事例を知らないだけかもしれないが
147デフォルトの名無しさん:2014/04/19(土) 19:47:30.81 ID:j1F3U2CR
なぜ「先」だと思ったのか分からん
148デフォルトの名無しさん:2014/04/19(土) 19:49:33.74 ID:jRqyICOu
>>147
>逝って
149デフォルトの名無しさん:2014/04/19(土) 20:24:29.85 ID:x6NH31T1
>>135
CPUにFPGAは積まれていません。
FPGAはプログラマブルゲートアレイ。簡単に言うとゲートの配線を
プログラムで書き換えられるチップのこと。
CPUは配線をプログラムで書き換えることは不可能。
150デフォルトの名無しさん:2014/04/19(土) 20:27:56.03 ID:jRqyICOu
>>149
あれ?FPUバグペンチアムの教訓から一部にせよ不可能じゃなかったっけ?
151デフォルトの名無しさん:2014/04/19(土) 20:29:03.75 ID:x6NH31T1
ちなみにDRAMの速度が遅いのは構造が簡単で大容量化
しやすことのトレードオフ。

キャッシュメモリが1bitを5トランジスタで構成するのに対し、
DRAMは1トランジスタと1コンデンサで作れる。
ざっくり言うとキャッシュメモリはDRAMの5倍コストが高い。

8GBのDRAMモジュールが今だと15,000円ぐらいだけど
同じ容量で75,000円もしたら誰も買わないでしょ。
152デフォルトの名無しさん:2014/04/19(土) 20:30:22.92 ID:x6NH31T1
>>150
マイクロコードの書き換えをFPGAというのは解釈が間違ってる。
153デフォルトの名無しさん:2014/04/19(土) 20:39:11.27 ID:5Hp05dG5
>>123
お前がいくつか知らんが、見切りつけるなら早い方がいいぞ
154デフォルトの名無しさん:2014/04/19(土) 20:46:04.20 ID:5Hp05dG5
>>140
早くできる方法提案してから言えよ
155デフォルトの名無しさん:2014/04/19(土) 20:51:05.09 ID:LZqRudID
>140
どのレベルまで速くして欲しくて、
どうやったら出来るか技術的根拠を示してくれ。
156デフォルトの名無しさん:2014/04/19(土) 21:20:00.92 ID:yBmPzOqP
>>139
市販車の最高速度だって、昔から300km/hくらいだろう
HDDの容量が30万倍になったからって、世の中のすべてのものが30万倍になるわけじゃないんだ
157デフォルトの名無しさん:2014/04/19(土) 21:31:12.53 ID:MP1hLwSA
HDDは大容量で安い分、物理ディスクがぐるぐる回ったりするラグがあるからね
しかも、メモリみたいにものすごい頻度でアクセスすると物理的壊れやすい
158デフォルトの名無しさん:2014/04/19(土) 21:55:57.16 ID:YxJ2dAgI
容量あたりの売り上げは下がる一方だよ!
159デフォルトの名無しさん:2014/04/19(土) 22:02:42.10 ID:Db2IzPol
486DX-33MhzのいわゆるDOS/V機のはしりの頃は
DRAM4MB, HDD/130MB位が一般的だった
DRAMが1000倍に対しHDDが10000倍になっている
HDDは垂直磁気化というブレイクスルーがあったが、DRAMには開発当初からみても
トレンチだの多層化だの小さな改良にとどまり大きなブレイクスルーは無い
160デフォルトの名無しさん:2014/04/19(土) 22:07:10.53 ID:lCAnEaLb
PS2は確かFPGAだっけ?間違ってたらすいません。
PS3のCELLと、PS4のジャグラーの違いって何ですか?

FPGA,CELL,ジャグラーを比べると
やはりジャグラーが一番高性能なICチップなんですか?
それとプレステのゲームはCやC++で書かれているというのは本当ですか?
161デフォルトの名無しさん:2014/04/19(土) 22:12:51.01 ID:o0ZatWYG
まずはASICとFPGAの違いを
162デフォルトの名無しさん:2014/04/19(土) 22:13:04.65 ID:x6NH31T1
>>160
まずFPGAとは何かという正確な定義を理解することが
先決じゃないですかね。
163デフォルトの名無しさん:2014/04/19(土) 22:15:11.98 ID:lCAnEaLb
>>162
プログラム感覚でハードを構成できるVHDLの事だと思うのですが間違いですか?
例えば、ここはトランジスタを2個、でこの端子にNANDを繋ぐとかそういうのを
VHDLで出来るという事ですが、違いますか?
164デフォルトの名無しさん:2014/04/19(土) 22:22:31.44 ID:t9BEvVQh
FPGAはプレイステーションなどには使わないだろ?買ったこと無いが、書き換え不可の専用チップのほうが高速で安価だろ。



FPGAとは 【 Field Programmable Gate Array 】 - 意味/解説/説明/定義 : IT用語辞典
プログラミングすることができるLSIのこと。
マイクロプロセッサやASICの設計図を送りこんでシミュレーションすることができる。
専用LSIより動作が遅く高価だが、ソフトウェアで回路のシミュレーションを行うよりは高速である。
1985年にXilinx社によって初めて製品化された。
http://e-words.jp/w/FPGA.html
165デフォルトの名無しさん:2014/04/19(土) 22:48:51.14 ID:hxhpR/8R
typedef struct{
int a;
}TEST

こういう構造体を作って、呼び出し元でTESTの配列を作り、

void testKansuu(TEST* test){
test[0].a = 200;
}

こういう関数を呼び出す時、引数で構造体のポインタを受け取っているのに、なぜ
test[0]->a = 200;
ではエラーなのかというのがわかりません。誰か教えてください・・・
166デフォルトの名無しさん:2014/04/19(土) 22:59:18.24 ID:EY4uPe0I
test->a = 200;
167デフォルトの名無しさん:2014/04/19(土) 23:03:18.03 ID:opS/PlHv
>>165
変数 test の型が TEST* の時、test[0] の型は何だと思う?
168デフォルトの名無しさん:2014/04/19(土) 23:04:14.36 ID:lCAnEaLb
>>164
ごめんなさい、勘違いでした
169デフォルトの名無しさん:2014/04/19(土) 23:33:32.96 ID:XTYZNlSu
>>144
UNIXがCで記述されている事と
C自体にディレクトリの概念がない事は両立する
170デフォルトの名無しさん:2014/04/19(土) 23:44:38.91 ID:t9BEvVQh
Linux Programmer's Manual
opendir, fdopendir - ディレクトリをオープンする
準拠
opendir() は SVr4 と 4.3BSD に存在し、 POSIX.1-2001 で規定されている。 fdopendir() は POSIX.1-2008 で規定されている。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/opendir.3.html


POSIXとは
IEEEによって定められた、UNIXベースのOSが備えるべき最低限の仕様のセット。
各OS間で最低限の互換性を確保するために定義された。
アメリカ規格協会(ANSI)や国際標準化機構(ISO)でも標準として採用され、
アメリカ政府機関に納入するUNIXシステムが守るべき必須条件となっている。
http://e-words.jp/w/POSIX.html



4.3BSD 1986 年にリリースされた 4.2BSD の後継。
System V release 4 (SVr4) SVr3 の後継。1989 年にリリースされた。
POSIX.1-2001, SUSv3 POSIX.1, POSIX.2, SUS の 2001年の改訂版である。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/standards.7.html
171デフォルトの名無しさん:2014/04/20(日) 00:19:41.50 ID:9cgHqMq8
POSIXはCの規格じゃないからね
172デフォルトの名無しさん:2014/04/20(日) 00:25:38.30 ID:eWgAayNP
言語仕様とライブラリの区別未だ無奴w
173デフォルトの名無しさん:2014/04/20(日) 00:31:58.01 ID:DKsTJC1K
標準ライブラリは規格のうちだろ
174デフォルトの名無しさん:2014/04/20(日) 00:39:38.28 ID:GQXLgTkD
chdir()は標準ライブラリですか?
そうでない場合、chdir()相当の関数が標準ライブラリに用意されていますか?
175デフォルトの名無しさん:2014/04/20(日) 00:43:26.34 ID:VWvh3A+u
標準ライブラリとPOSIXは違うんじゃね
176デフォルトの名無しさん:2014/04/20(日) 00:45:30.03 ID:gFkdD4A7
言語研究者かよ。
getcwd、chdirは言語仕様であってもなくても、実用上、標準と違いはだろ。
177デフォルトの名無しさん:2014/04/20(日) 00:46:49.62 ID:DKsTJC1K
へーそーなんだ
178デフォルトの名無しさん:2014/04/20(日) 00:49:27.16 ID:UE10veJp
ドライブという概念はパソコン(パーソナル・コンピュータ)用として
ごく自然な考え方だと思いまする。
179デフォルトの名無しさん:2014/04/20(日) 01:00:43.32 ID:TERuptSv
典型的なhello world!!を表示するだけのプログラムでも
アルゴリズムと呼んで良いのですか?
180デフォルトの名無しさん:2014/04/20(日) 01:06:43.39 ID:UE10veJp
普通は手続きの羅列をアルゴリズムとは言わないですね。
呼んではいけないという法は無いと思いますが。
181デフォルトの名無しさん:2014/04/20(日) 01:09:20.39 ID:TERuptSv
>>180
どうもありがとうございました
調べ続けた結果、問題の解き方って出てたので、少し勘違いしていたみたいです。 

printf使っただけのプログラムをアルゴリズムって呼ぶのは何か違和感を感じました。
182デフォルトの名無しさん:2014/04/20(日) 01:34:23.12 ID:KYYDJXO8
チンコとマンコは同時に存在しないのでXORの関係ですか?
183デフォルトの名無しさん:2014/04/20(日) 01:44:52.86 ID:GQXLgTkD
ふたなりは実在するような記事はみかけるぞ。
184デフォルトの名無しさん:2014/04/20(日) 02:07:39.28 ID:jJiPXZnf
>>178
ドライブって、駆動装置の事だって知ってるよね?
185デフォルトの名無しさん:2014/04/20(日) 02:24:56.55 ID:UE10veJp
そうなのです。
現実に目に見えて手に取れる装置なのです。
パソコンは個人が管理し使用するものですから、装置も本人が手に取って
接続することでしょう。
マイクロソフト社のOSが優れていた点は、コンピューターの中にしかない
仮想的な世界を手で触れられる現実の世界とうまくリンクさせたことでしょう。
現実の世界に存在する装置が、コンピュータ内に独立した一つのオブジェクトとして
存在することは、ほとんどの人にとって理解しやすかったのです。
ゲイツ氏は「自分の母親が使えるようなコンピュータ」を作ろうとしました。
これが理念でありビジョンというものです。
そしてそれは広く受け入れられました。
さすがです。
186デフォルトの名無しさん:2014/04/20(日) 07:58:35.74 ID:9Al1APE2
>>123
実際、ソフトの仕事は要件決めが、9割だから。
仕様がきちんと決まってれば、あとは作業するだけ。
187デフォルトの名無しさん:2014/04/20(日) 07:59:53.75 ID:78551rL2
MS-DOSのこと?
188デフォルトの名無しさん:2014/04/20(日) 09:57:37.68 ID:1afyOgOn
>>176
言語仕様ではない
それが現実

ただ、MS-DOSの頃はまだCは規格化されていなかった
189デフォルトの名無しさん:2014/04/20(日) 10:04:43.51 ID:YTbrMQGj
難しい話になってまいりました
190デフォルトの名無しさん:2014/04/20(日) 10:08:06.45 ID:DKsTJC1K
きさま、要件どおりに出来ているかの検証工数を考慮しないクソマネージャーだな!!!
191デフォルトの名無しさん:2014/04/20(日) 11:41:35.32 ID:f5dP4g9k
関数をstaticにする意味はありますか
192デフォルトの名無しさん:2014/04/20(日) 12:30:04.40 ID:QowT8cHi
>>119
> でも丸1日かかるほうが残業代で稼げるとかそういう現状あったりする?

出来ない奴は風呂入れず体が腐って脱毛・インキンになるくらい働いても
結果的に年収400万が上限だな。
出来ると言われる人は、週に2回4時間ほど出勤するだけで年収600万〜
だし、定時で働いたら年収にすると1200万以上もらえるもんだよ。
逆に言うと、そうだな、フルタイムで年収1000万を切るような
能力ならプログラマなんかやめたほうがいい。30歳になる前に。
安いのが職場のせいなら、わざわざ言わなくても分かると思うが、
別の職場も探したほうがいい。
まあそれが出来ない能力なら、やはりこの業界はやめたほうがいい。
くどいようだが「30歳になる前」にな。
でないと取り返しがつかないことになるだろう。
それが現実だ。
193デフォルトの名無しさん:2014/04/20(日) 12:30:34.78 ID:hz5FtH46
マ板でやれ
194デフォルトの名無しさん:2014/04/20(日) 16:35:21.63 ID:PbdtxenD
>>192
んで君は30過ぎてインキンになって低年収なんで言ってる事に真実味があるわけだな
よくわかった
195デフォルトの名無しさん:2014/04/20(日) 16:40:37.79 ID:2OQiDT8K
>>191
基本的に全部staticにする勢いで考えて
どうしてもstaticにできないもののstaticを外す風にするといいよ
196デフォルトの名無しさん:2014/04/21(月) 19:53:07.89 ID:tSPN//Zi
ここって数日前に始めた初心者の相談ものってくれるんですね
197デフォルトの名無しさん:2014/04/21(月) 21:07:39.52 ID:ks00ewoZ
やはり

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

があった方がいいのだろうか
198デフォルトの名無しさん:2014/04/21(月) 21:17:03.11 ID:Q9CWt8FH
何で消しちゃったのかしらん?
199デフォルトの名無しさん:2014/04/21(月) 21:19:38.70 ID:NS334t72
hogehoge禁止とか訳わからんこと言い出す奴が居て嫌いなんだけど、個人的には希望
200デフォルトの名無しさん:2014/04/21(月) 21:56:08.87 ID:Q9CWt8FH
test
201デフォルトの名無しさん:2014/04/21(月) 22:13:47.95 ID:tSPN//Zi
あ、質問聞いてくれるんですかねだったわ
誤字誤字
202デフォルトの名無しさん:2014/04/21(月) 22:48:19.46 ID:nDf0t8Hx
>>199
そんなもの無視して hoge なソースを公開していればいい
203デフォルトの名無しさん:2014/04/22(火) 14:31:06.36 ID:obIqqU3+
初心者です。
16ビットのビット演算について教えてください。

unsigned short red,green,blue;
unsigned int color;

colorに高い方から、5,6,5というように、それぞれred、green、blueというようにデータが割り当ててあります。
ここでビット演算で各色を計算すると思うのですが、具体的にどのような方法が一番よいのでしょうか?
ご回答よろしくお願いします。
204デフォルトの名無しさん:2014/04/22(火) 15:59:12.12 ID:6QMxCkN6
do{
printf("%d", num%10);
num=num/10;
}while(num>0);

中途半端ですけど、1963って入力すると3691と逆になります
C言語始めたばかりでよくわかりません・・・orz
詳しく説明してくれませんか?
205デフォルトの名無しさん:2014/04/22(火) 16:15:40.81 ID:wbvUFYat
>203
思いつきで
#define RED_MASK 0xf800
#define RED_SHIFT (6+5)
#define GREEN_MASK 0x07e0
#define GREEN_SHIFT (5)
#define BLUE_MASK 0x001f
#define BLUE_SHIFT (0)

color = ((red & RED_MASK)<<RED_SHIFT ) | ((green & GREEN_MASK)<<GREEN_SHIFT ) | ((blue & BLUE_MASK)<<BLUE_SHIFT);

red,green,blueが各値のMAX値を超えない保証があるならマスク不要。
206デフォルトの名無しさん:2014/04/22(火) 16:23:49.70 ID:wbvUFYat
分離
red = (color & RED_MASK)>>RED_SHIFT;
green = (color & GREEN_MASK)>>GREEN_SHIFT;
blue = (color & BLUE_MASK)>>BLUE_SHIFT; /*最適化でシフト工程削除を期待*/
207デフォルトの名無しさん:2014/04/22(火) 17:00:25.92 ID:W0hXuU4O
>>204
1693 ÷ 10 で余り 3
商をnumに代入 でnum は169
169 ÷ 10 で余り 9
商をnumに代入 でnum は16
16 ÷ 10 で余り 6
商をnumに代入 でnum は1
1 ÷ 10 で余り 1
商をnumに代入 でnum は0

継続条件が num > 0 なんでお終い
208デフォルトの名無しさん:2014/04/22(火) 18:03:16.12 ID:rywqDi7U
printf("%d", num%10); の num%10はどういう意味?
209デフォルトの名無しさん:2014/04/22(火) 18:12:18.33 ID:W0hXuU4O
%は 剰余 つまり余りを出すもの だから printf("%d", num%10); は numを10で割った余りを表示するってこと

C言語 加減乗除 でggr
210デフォルトの名無しさん:2014/04/22(火) 21:06:17.97 ID:BSZVNMjV
負数の剰余が規格化されたのいつからだっけ?
211デフォルトの名無しさん:2014/04/22(火) 23:19:00.68 ID:t/DqEaaB
>>205
シフトとマスク逆じゃね
っつうわけで

#define SHIFTED(val, COLOR) (((val) << COLOR ## _SHIFT) & COLOR ## _MASK)
#define VAL(color_val, COLOR) (((color_val) & COLOR ## _MASK) >> COLOR ## _SHIFT)

color = SHIFTED(red, RED) | SHIFTED(green, GREEN) | SHIFTED(blue, BLUE);
red = VAL(color, RED);
212デフォルトの名無しさん:2014/04/23(水) 06:28:07.52 ID:2DXxZdhD
>>207>>209
ありがとうございました
213205:2014/04/23(水) 08:11:08.34 ID:nANgtZqL
>211
そうだねorz
214デフォルトの名無しさん:2014/04/24(木) 02:19:56.66 ID:29x10p2Y
>>118
テストや保守は別の人がやるものじゃないのか?
215デフォルトの名無しさん:2014/04/24(木) 16:55:33.40 ID:otCCdij/
開発した人が販売後保守担当になるのは珍しくないだろ。
216デフォルトの名無しさん:2014/04/24(木) 17:07:47.52 ID:BYo0a+oS
int main(){
int n;
for(n = 3; n < 227 ; n++ ) // nの上限が n<228以上でバグ n = 227の時に動作不良
{ judge(n); }
return 0;}
judgeは整数nが素数ならば表示しそうでなければ何もしない関数なのですが、n<227以下なら正常に終わるのですが、
217デフォルトの名無しさん:2014/04/24(木) 18:06:58.54 ID:BYo0a+oS
nの上限を227以上にすると途中でプログラムの挙動がおかしくなります。
judge()に問題があるのかと覆ったのですが、nの初期値を226にすると上限がn<359ならば問題ないのですが、上限を359以上にすると上と同じようにおかしくなってしまいます。
同じようにnの幅を小さくして実行すると正常にできるのですが、上限なし等にすると途中でおかしくなってしまうのはなぜですか?
コンパイラは"gcc version 4.8.1 20130909 [gcc-4_8-branch revision 202388] (SUSE Linux)"です
218デフォルトの名無しさん:2014/04/24(木) 18:18:41.15 ID:+RFQ6aOq
judgeの中身に問題があるだけでしょ
219デフォルトの名無しさん:2014/04/24(木) 19:22:16.07 ID:tXCIarBm
>>216
全部さらせ,話はそれからだ
220デフォルトの名無しさん:2014/04/24(木) 21:59:15.98 ID:Dm4So2an
もしかして:オーバーフロー
221デフォルトの名無しさん:2014/04/25(金) 01:24:34.56 ID:J0O0+fbt
>>216
void judge(int n)
{
int i;
for (i = 2; i * i <= n; ++i)
if (n % i == 0)
return;
printf("%d ", n);
}
222デフォルトの名無しさん:2014/04/25(金) 07:15:29.19 ID:I0yUpS7C
int が 16bit 符号付だと i*i の計算が危ない

log(226 * 226) / log(2) → 15.6
226*226 の結果を符号無しで表現するのに 16bit 必要
223デフォルトの名無しさん:2014/04/25(金) 16:47:47.01 ID:fQTWxI7Q
#include <stdio.h>
#include <stdlib.h> //pickup()
#include <dirent.h> //countfile()
int main(){
int n;
for(n = 227; n < 359 ; n++ ) // nの上限が n<228以上でバグ n = 227の時に動作不良
{ printf("judging %d\n",n);
judge(n);
usleep(50000);
} return 0; }
int judge(int n) // 整数nが素数かどうか判断
{ int i = 1;
int p;
p = pickup(i);
while( ( n % p ) != 0 ) {
if(p >= n/2)
{ break; }
else{
i ++;
p = pickup(i);}
}
if( ( n % p ) != 0 ) {
write(n);
printf("%d is prime number.\n", n);
return 1; }
else { return 0; }
}//judge is end
int pickup(int k) //k番目の素数を引き渡す
{ int pu;
char primefile[100];
sprintf(primefile, "./prime/prime%d.txt", k);
224デフォルトの名無しさん:2014/04/25(金) 16:49:01.80 ID:fQTWxI7Q
FILE *fp;
fp = fopen(primefile, "r");
if( fp == NULL ) {
printf("file open is fale.");
} else {
fgets(primefile, 99, fp);
pu = atof(primefile);
}return pu;
} //pickup end
write(int n)//整数nを次のpirmeに書き込む
{ FILE *fp;
char filename[256];
int c = count(0);
c = c + 1;
sprintf(filename, "./prime/prime%d.txt", c);
fp = fopen(filename, "w");
fprintf(fp, "%d", n);
fclose(fp);
}//write is end
int count(void)// ./prime内にあるファイルの数を数える{
DIR *dir;
struct dirent *dp;
char path[10] = "./prime/";//対象フォルダを指定
dir=opendir(path);
int i = 0;
for(dp=readdir(dir);dp!=NULL;dp=readdir(dir))
{// printf("%s\n",dp->d_name);
i = i + 1; }
closedir(dir);
i = i - 2;
return i; }//count is end
225デフォルトの名無しさん:2014/04/25(金) 16:51:58.43 ID:fQTWxI7Q
見難くてすいません。
やはりjudge()に問題があるのでしょうか?
226デフォルトの名無しさん:2014/04/25(金) 17:24:09.01 ID:J7Pyepd0
ハード屋さんに質問です。
メモリの1と0の点滅の速度でデータを表現するって方法はダメなんでしょうか?
例えば4ビットで、点滅速度が10ギアあれば4^10=1000京個の状態を表せないですか?
227デフォルトの名無しさん:2014/04/25(金) 18:33:16.14 ID:NEPb//MG
>>225
pickup(i) <--- i番目の素数を取得。
write(n) <--- チェック対象の数n。
に成ってしまってる。

あと、tmpfsは使えないんだっけ?
228デフォルトの名無しさん:2014/04/25(金) 18:45:03.59 ID:S9fMZq7/
共用体って一体どういう状況で使うんですか?構造体なら判るんですが(と言ってもあくまでも入門者レベルでの話ですけど)
229デフォルトの名無しさん:2014/04/25(金) 18:45:07.91 ID:NEPb//MG
>>226
>メモリの1と0の点滅の速度でデータを表現するって方法はダメなんでしょうか?

表現は可能だけど、速度固定?
1とか0が連続した場合を考慮すると、同期ビットが必要。

>例えば4ビットで、点滅速度が10ギアあれば4^10=1000京個の状態を表せないですか?

10ギガ?
従来技術で似てるのは分割アドレッシングかな。
例えば32ビットデータ、アドレス表現のために8ビットを4回出力するとか。
1000京=10^19は、64ビットあれば足りるから、4ビット点滅を16サイクルで可。
230デフォルトの名無しさん:2014/04/25(金) 18:50:16.04 ID:NEPb//MG
>>228
・メモリ節約
・ビット毎に意味が有り、読み書きは8ビット単位(文字としてコーディング可)で行いたい場合。
組込みスレで聞いたら、他の用途も有るかも。
231デフォルトの名無しさん:2014/04/25(金) 19:43:32.21 ID:FFnZjqaH
>228
バージョンによってデータ構造が変わってるとき、一つの型で対応可能。

struct {
int ver;/*バージョン番号*/
union {
struct { /*バージョン1用*/
...
};
struct { /*バージョン2用*/
...
};
...
232228:2014/04/25(金) 20:29:16.80 ID:S9fMZq7/
レスありがとうです。
なかなかイメージが湧きにくいんですが、例えば1つのファイルをこのレコードはAというデータ用のフォーマット、これはBというデータ用のフォーマット…
的に使っているみたいな?(あくまでも例えですが)。
233デフォルトの名無しさん:2014/04/25(金) 20:35:47.15 ID:dV13/S1E
>>229
8ビットで32ビットを表現できるんですか?それってその代りどこかの場所を
24ビット分使ってるって事ですか?
234デフォルトの名無しさん:2014/04/25(金) 20:44:51.58 ID:G5RxlAgl
>>228
組み込みなどでメモリに割り当てられたレジスタを
1バイトまるまるアクセスしたい場合とビットアクセスしたい場合とか
235デフォルトの名無しさん:2014/04/25(金) 21:04:07.77 ID:jPmvuOB6
>>228
昼はうどん屋で夜はキャバレー
236デフォルトの名無しさん:2014/04/25(金) 22:24:34.87 ID:KbLWmMY4
初心者が使うことはないとおもう
そのあとに登場した言語でも共有体はないものがほとんど
237デフォルトの名無しさん:2014/04/25(金) 22:33:20.64 ID:vKWRVcWD
ハードの話をしている奴、せめて雑談スレ辺りでやってくれ。
余りに頓珍漢過ぎて突っ込みどころ満載なんだがスレ違い過ぎる。
238デフォルトの名無しさん:2014/04/25(金) 22:36:30.33 ID:I0yUpS7C
乱暴なキャストみたいなものだしねー

char a[8];
*(long *)&a = 5;
239デフォルトの名無しさん:2014/04/25(金) 22:37:06.12 ID:I0yUpS7C
&いらないがな
240デフォルトの名無しさん:2014/04/25(金) 22:48:33.17 ID:S9fMZq7/
>>236

なるほど〜。その必要が出てきた時に…ということにしておきます。
ありがとう
241デフォルトの名無しさん:2014/04/25(金) 22:56:52.48 ID:87xzAhfm
>>238
乱暴なキャスト??
はぁああああ???
242デフォルトの名無しさん:2014/04/25(金) 23:12:10.60 ID:FFnZjqaH
DirectXとか使うようになると必要な知識。>union
概念だけ覚えておけば十分だけど。
243デフォルトの名無しさん:2014/04/26(土) 08:34:42.65 ID:GFDthRRc
ルネサス提供のIO定義はこんなんだな
struct st_port {
 union {
  struct {
   unsigned char B7:1;
   unsigned char B6:1;
    :
   unsigned char B0:1;
  } BIT;
 unsigned char BYTE;
 } PDR;
};
#define PORT0 (*(volatile struct st_port*)0xFFFFFF00)

PORT0.PDR.BIT.B0 = 0;
PORT0.PDR.BYTE &= ~0x01;
244デフォルトの名無しさん:2014/04/28(月) 20:57:10.27 ID:Ukx0JAM/
初心者で型変換で頭がこんがらがっています

char型の一文字、”a”という文字をアスキーコードの97になるように出力するコードを教えてください!
よろしくお願いします!
245デフォルトの名無しさん:2014/04/28(月) 21:19:08.18 ID:BzoKLgJq
printf("%d",'a');
246デフォルトの名無しさん:2014/04/28(月) 21:29:58.91 ID:Y7MCHYkV
C言語に文字や文字列の型は無いよ。
「これは文字コードだ」「これは文字列だ」と仮定して処理してるだけ。
247244:2014/04/28(月) 22:48:31.44 ID:Ukx0JAM/
自己解決しました
スレ汚しすみません


#include <stdio.h>
int main(void)
{
char x = 'a';
int b;
b = (int)x;
printf("%d",b);
return 0;
}
248デフォルトの名無しさん:2014/04/28(月) 22:58:18.12 ID:hrRMkWp4
intよりuint8_tの方が好み
249デフォルトの名無しさん:2014/04/28(月) 23:03:04.84 ID:rohD7ll5
>>245-246の簡潔な回答を完全スルーして
自己解決したと言い切る>>247はすごいと思う。
250デフォルトの名無しさん:2014/04/28(月) 23:24:14.35 ID:M9nPC3Y9
>>249
KACさん、ここはム板じゃないんでIDでバレバレですよ。
251デフォルトの名無しさん:2014/04/29(火) 00:16:42.59 ID:DTtenoOg
>>250
ここはム板な訳だが?
つか、粘着君必死だな
252デフォルトの名無しさん:2014/04/29(火) 15:53:04.40 ID:+GFTFC3I
教えて下さいm(__)m
Win7 BCC32 で、CSVファイルを開いて画面に出力するもの

http://codepad.org/dm194OSq

なんですが、終了時に異常終了しています。
また見てみると先頭の値がおかしいし。

http://www.dotup.org/uploda/www.dotup.org5026133.jpg

どう直せばいいんでしょう
253KAC:2014/04/29(火) 15:57:56.95 ID:3cTlepGQ
>>252
22行目のパラメータが足りないからメモリこわしてる。
一つ目の%に対する変数を見直してみな。
254デフォルトの名無しさん:2014/04/29(火) 16:20:35.74 ID:Fa4k2u0F
きたねぇソースだなあ。もうちょっと読み込みロジック工夫しようぜ。
人が読んで理解しやすいソースがいいソース。
255デフォルトの名無しさん:2014/04/29(火) 16:29:07.40 ID:+GFTFC3I
ありがとうございます。
>>253
あれが悪さをしてたみたいです。感謝

>.254
そうですか?一人でやってるもので他人のソースは見る機会がないもんで。
どう変えれば「人が読んで理解しやすいソース」になります?
256デフォルトの名無しさん:2014/04/29(火) 16:55:01.78 ID:CgT7pfVi
特に汚いという判断できるような長さじゃないだろ
一つだけ挙げるなら、カンマのうしろはスペースあけろってことくらい
カラム数が9個で決め打ちなのはただのお遊びプログラムならよくあること
257デフォルトの名無しさん:2014/04/29(火) 17:47:21.13 ID:w+aVJCtD
そやね
全然正常の範囲よ
本物の糞コードはもっと臭ってるから

本物の糞コードはこれだ
1) 抽象化が下手か、皆無
2) 名前が糞
3) 分かってなくてこれ書いてるな、と丸分かりな箇所がある
4) コピペが見え隠れする
5) どうやったらそうなるんだ、という脅威の遠回り長文ロジック

そんで、糞コード書くやつってもれなく言い訳がましいからw
258デフォルトの名無しさん:2014/04/29(火) 17:52:27.24 ID:r23HAMeu
if(a==0 && b==0) {
...
} else if(a==0 && b==1) {
...
} else if(a==1 && b==2) {
...
} else if(a==2 && b==0) {
...
} else if(a==1 && b==1) {
...
259デフォルトの名無しさん:2014/04/29(火) 18:42:40.91 ID:u8cJRNln
>258
c = a*1000 + b;
if(c==0) {
...
} else if(c==1) {
...
} else if(c==1002) {
...
} else if(c==2000) {
...
} else if(c==1001) {
...

なんてね。
260デフォルトの名無しさん:2014/04/29(火) 20:41:31.24 ID:Fa4k2u0F
sscanfをブロックで区切ってループで処理するとか、
どうしても1行で済ませたいなら改行とインデントで
何を読み取ろうとしているのかわかりやすくするとか。
ベタで1行に大量の項目を並べると理解度は下がる。
261デフォルトの名無しさん:2014/04/29(火) 20:49:42.18 ID:ukQbEq4U
この程度で理解度って何なの
262KAC:2014/04/29(火) 21:04:28.15 ID:3cTlepGQ
>>260
sscanfでやってる処理を区切ると余計見づらくなると思うが。
一行で書けるなら一行に収めるのも一つの手法。

それはそうとして、あのソース見れば解ったとは思うけど、
あの処理はあれで完成じゃないぞ?
段階を追って作っていく中でつまづいた質問だろう。
そもそもそんなに目くじら立てんでもいいだろ?
263デフォルトの名無しさん:2014/04/29(火) 21:31:21.29 ID:gpRdg9fO
>>262
> 一行で書けるなら一行に収めるのも一つの手法。

まったく同意。
この場合みたいなテストプログラムならなおさら。
一行ですむもんをぐだぐだ書いたってしゃあないの一言。
264デフォルトの名無しさん:2014/04/30(水) 09:44:25.00 ID:+wNot7iM
副作用完了点までの間に複数の副作用を含まないなら1行で書くべきだとは思うがなあ
265デフォルトの名無しさん:2014/05/01(木) 00:18:37.20 ID:3vaVvjrK
>>264
> 副作用完了点までの間に複数の副作用を含まないなら

複数含んでたら書き方以前の問題かと
266デフォルトの名無しさん:2014/05/01(木) 02:55:46.95 ID:y8YtF35m
>>265
は?
267デフォルトの名無しさん:2014/05/01(木) 18:43:32.27 ID:gF+7r6TF
a[i++] = i; こういうのじゃなく(論外)

*a++ = *b++; こっち側を通すかどうかの話でしょ?
268デフォルトの名無しさん:2014/05/01(木) 20:06:05.44 ID:SQr5GroH
紛らわしいから()すればいいだけの話
269デフォルトの名無しさん:2014/05/01(木) 20:20:12.29 ID:5gqYN/3d
どう括弧するの?
270デフォルトの名無しさん:2014/05/01(木) 21:03:10.82 ID:zNLeyvzf
演算子の優先順にそって明示的にカッコを入れて欲しいって事じゃないかな?
普段から常用してる言語ならいいけど
たまにしか書かないようなものは読みづらいからね
271デフォルトの名無しさん:2014/05/01(木) 23:12:43.17 ID:CqnWdcr7
カッコつけて書いて
イメージわからん
272デフォルトの名無しさん:2014/05/02(金) 13:57:38.77 ID:L/TPuthe
副作用完了点を理解してない奴は混乱するから参加するな
273デフォルトの名無しさん:2014/05/03(土) 20:32:00.11 ID:CisfHpp9
const char*とchar* constの違いを教えて下さい。
274デフォルトの名無しさん:2014/05/03(土) 20:54:06.07 ID:SK8slS+P
const char*は指し示す先がconstになる
char _a;
const char* a = &_a;
*a = 1; /* NG */
a++; /* OK */

char* constはポインタがconstになる
char _b;
char* const b = &_b;
*b = 1; /* OK */
b++; /* NG */

const char* constはどっちもconstになる
char _c;
const char* const c = &_c;
*c = 1; /* NG */
c++; /* NG */
275デフォルトの名無しさん:2014/05/03(土) 20:57:47.16 ID:0KpDKEU+
const char *p // const char へのポインタ。初期化後は代入できない領域へのポインタ。*p = 'a'できない。
char *const p // charへの、constポインタ。*p = 'a'できるがp = &othercharできない。
276デフォルトの名無しさん:2014/05/04(日) 20:38:50.42 ID:3UsGawbE
要素数を計算して出す時にint型なら、例えば

int size;
int ar[] = { 1,2,3,4,5,6,7,8,9};
printf("要素数は %d\n", sizeof(ar) /sizeof(ar[0]));

で、9とでてきますけど、文字の配列で例えば

char *mojiar[] = {
"line1",
"line2",
"line3",
"line4",
"line5"
};
となってる時に、要素数はどうすれば出せますか?
277デフォルトの名無しさん:2014/05/04(日) 20:47:03.84 ID:0ZuyhgxY
同じでしょ?
sizeof (mojiar) / sizeof(char *)
278デフォルトの名無しさん:2014/05/04(日) 20:52:32.63 ID:3UsGawbE
おおっw ありがとうございます。
279KAC:2014/05/04(日) 21:51:14.83 ID:nXeCksGu
例と同じように変数名でいくなら

 sizeof (mojiar) / sizeof(*mojiar)
280デフォルトの名無しさん:2014/05/05(月) 05:54:47.33 ID:H8XQmoUY
俺はこう書いてる
sizeof mojiar / sizeof mojiar[0]
281デフォルトの名無しさん:2014/05/05(月) 08:28:45.04 ID:xbN8Vu9G
俺はカッコ含めずに書いてマクロで使ってる
#define N(mojiar) (sizeof mojiar / sizeof *mojiar)
282デフォルトの名無しさん:2014/05/05(月) 16:20:46.21 ID:/jkwSONz
C言語勉強中です
Cに向く人、向かない人の違いってありますか?
たとえばチンチンが臭い臭くないとかオナニーは皮派とか
283デフォルトの名無しさん:2014/05/05(月) 16:24:22.03 ID:G/LEF2WP
>>282
剥くか剥かないかってことか
284デフォルトの名無しさん:2014/05/05(月) 16:54:26.55 ID:IS5v0d9K
こんな計算してなんになるって考えている人は向いていない
285デフォルトの名無しさん:2014/05/06(火) 09:46:12.21 ID:vwF5zeGs
ちなみにC言語の文字列は4種類のポインタで管理してある
1スタックポインタ
2ヒープポインタ
3マクロポインタ
4ポインタ

freeで解放出来るのは2のヒープポインタだけ
286デフォルトの名無しさん:2014/05/06(火) 10:30:40.89 ID:G4//2ydq
Cの文字列はNULで終わる charの配列で、ポインタは一種類しかない
287デフォルトの名無しさん:2014/05/06(火) 11:17:17.43 ID:R4LFdeTL
>>285
スタックポインタはレジスタの一種だ

「マクロポインタ」とはいったいなんだ?なにをいいたい?
288デフォルトの名無しさん:2014/05/06(火) 17:38:30.99 ID:9sMBK1rg
メモリポインタだろ
289デフォルトの名無しさん:2014/05/06(火) 17:42:25.87 ID:Q6ONYLly
ダブルポインタなる用語を得意げに使うアホといっしょ。
290デフォルトの名無しさん:2014/05/06(火) 17:44:45.15 ID:N+NRabHR
>>285はコピペ
291デフォルトの名無しさん:2014/05/06(火) 17:45:09.31 ID:YllznT6S
ポインタ値はただの数値。
292デフォルトの名無しさん:2014/05/06(火) 18:13:01.07 ID:V0rBJUJI
添え字が0からってのが凄いややこしいけど、言語によっちゃ1から始まる
配列もあるんでしょうか?統一しないんでしょうか?
293デフォルトの名無しさん:2014/05/06(火) 18:22:43.05 ID:R4LFdeTL
>>292
数学にだって、自然数は 0 からはじまる、と定義する流儀もあれば、1 からはじまる、とする流儀もあるし、統一はむりじゃないか?
294デフォルトの名無しさん:2014/05/06(火) 18:23:13.04 ID:ACrdZTCb
>>292
別に1から使っても構わんけど?
295デフォルトの名無しさん:2014/05/06(火) 18:24:19.24 ID:+MWBoNlC
>>294の回答が実にクール。
296デフォルトの名無しさん:2014/05/06(火) 18:32:35.80 ID:dMgIQu+f
>>286
ぬるぽ。
297デフォルトの名無しさん:2014/05/06(火) 18:34:37.97 ID:I472fBGh
計算がやりやすい時に、配列先頭を使わないでおくのはよくあるな
298デフォルトの名無しさん:2014/05/06(火) 18:50:31.35 ID:iz76HTaG
>>292
>言語によっちゃ1から始まる配列もあるんでしょうか?

FORTRAN という科学技術計算向け言語は1から始まる
また Pascal や Modula といったアルゴリズムの記述を目的に
教育用途から発展した言語だと、
a[1..N] みたいに任意の下限と上限を宣言できたりする

C言語はOSなどのシステムプログラミング向けに設計され、
それ以前はアセンブリ言語で書かれたコードを
構造化された高級言語で置き換えることを目的としていた
もしアセンブリ言語を知っていれば、
a[0] が *(pa + 0) と等価でありa[1] が *(pa +1) と等価であることに関して、
ポインタ pa とはCPUのインデックスレジスタであり
*(pa + 0) が相対アドレッシングであるから、
配列の添字が相対アドレッシングのオフセット値に対応する概念であると
容易に直感できる

こうした歴史的背景があるから、少なくともC言語の仕様として
配列の開始が0ではなくなることは、まず考えられないと思われる
299デフォルトの名無しさん:2014/05/06(火) 22:51:09.46 ID:6lVuVN20
VBAだと、モジュールの先頭で Option Base指定で 0または1のどちらかを指定できる
デフォルトでは0
300デフォルトの名無しさん:2014/05/06(火) 23:44:36.43 ID:wMsmsiA/
昔のBASICは1オリジンだったな
今はもう頭が0オリジンになっちゃってて久々にVBやると間違えそうになるけど
301デフォルトの名無しさん:2014/05/07(水) 08:24:45.99 ID:FZZA6k3k
>>299-300
そもそも VB なら
Dim A(-5 To 5, 1 To 50)
とかできるし。
302デフォルトの名無しさん:2014/05/07(水) 16:15:33.88 ID:up6dAhbL
for(i=0;i<10;i++){
cc = buff[i*4];
}

>292
perlじゃ0 = nullだから
知らずにやると痛い目見る
303デフォルトの名無しさん:2014/05/07(水) 20:36:01.90 ID:g53DG78n
++i と i++ って何が違うん?
304デフォルトの名無しさん:2014/05/07(水) 20:40:37.90 ID:x+fgQX7M
int i = 0, j = 0;
int a = i++;
int b = ++j;
305デフォルトの名無しさん:2014/05/07(水) 20:41:11.59 ID:C2atmMD0
副作用完了点
306デフォルトの名無しさん:2014/05/08(木) 08:51:57.03 ID:T/af7hsE
-の添字が配列後端を指すとか配列の手前のセグメンテーションフォルトの位置を指すとかそれも面倒。
307デフォルトの名無しさん:2014/05/08(木) 12:31:26.83 ID:4bzQOeSA
一つ教えてください〜バイナリファイルのランダムアクセスってレコード番号を指定して読みだすんですよね?
ホストのVSAMやRDBみたいにキーを指定してってのは…無いんですか?
308デフォルトの名無しさん:2014/05/08(木) 13:19:18.28 ID:saEXqLt0
>>307
>レコード番号を指定して読みだすんですよね?

いや、違う
C言語でバイナリファイルと言えば、一般的には
1バイト単位にアクセスできる列(ストリーム)を指す
具体的には、ファイルの先頭を0とした相対的なバイト位置
(これをオフセットと呼ぶ)をライブラリ関数 fseek で指定し、
fread や fwrite でアクセスするのが基本


>キーを指定してってのは…無いんですか?

UNIXであればISAMに相当する標準ライブラリとして dbm がある
また dbm から派生した gdbm(GNU版dbm)やbdb(Berkeley DB) などを
使うケースも多い
特に bdb はWindows版もありオラクルに買収されたほどよく知られている

ここで書いた fseek や dbm といったキーワードで調べるといいと思う
309デフォルトの名無しさん:2014/05/08(木) 15:52:14.38 ID:Pn75zzX2
>>レコード番号を指定して読みだすんですよね?
BasicかYO! w
310デフォルトの名無しさん:2014/05/08(木) 16:02:42.17 ID:4bzQOeSA
ありがとうございます。

また勉強しますm(__)m
311デフォルトの名無しさん:2014/05/08(木) 16:18:34.28 ID:/l8rqogH
コボラーかよ
312デフォルトの名無しさん:2014/05/08(木) 20:13:26.27 ID:Ute3QYwM
int a[10];
と宣言した配列に、後から、
a[0] = 3;
a[1] = 15;
a[2] = 31;

と値をひとつひとつ入れていくのではなくて、
a = {3, 15, 31, …}
みたいな感じでいっぺんに入れてやる方法はないでしょうか。
配列の宣言時に出来るのは知ってますが、後からいっぺんに値をいれる方法がわかりません。
宜しくお願いします。
313デフォルトの名無しさん:2014/05/08(木) 20:19:23.59 ID:EUIeAaSZ
別の配列に入れておいてmemcpy。
言語仕様的にかけたとしても中身は変わらん。
314デフォルトの名無しさん:2014/05/08(木) 20:33:39.71 ID:Ute3QYwM
>>313
C言語にはそういう書き方はないということですかね
ありがとうございました。
315デフォルトの名無しさん:2014/05/08(木) 23:07:24.24 ID:2uAXp7x3
struct hoge {
int hoge[10];
} hoge;
hoge = (struct hoge){
{
[0] = 3,
[1] = 15,
[2] = 31,
}
};
316デフォルトの名無しさん:2014/05/10(土) 15:36:09.18 ID:lg7l82Ku
ある数(scanfのやつ使って文字適当に決める)の100の位を出す問題なんだけどわからん。例えば実行ファイルで12345の数を打ったら百のくらいは"3"ですみたいなのを出したいんだけどさっぱりわからん
317デフォルトの名無しさん:2014/05/10(土) 15:41:59.91 ID:ekEKKV6e
atoi([入力]] / 100 % 10 みたいのじゃダメなん?
318デフォルトの名無しさん:2014/05/10(土) 16:03:32.85 ID:NonsVfNu
>>317
なるほど!ありがとうございますm(__)m
319デフォルトの名無しさん:2014/05/10(土) 22:36:01.26 ID:daXnFUnI
バイナリファイルの読み出しなんですが^^;
typedef struct testdata{
int test1;
int test2;
char nm[10];
} dat;

↑のフォーマットで5件バイナリデータを作って一気に表示させるのは
FILE *fp;
dat dt;
while ( fread(&dt,sizeof(dat),1,fp) > 0 ) {
printf("%d件目 %d %d %s \n",i+1 , dt.test1 ,dt.test2 ,dt.nm );
i++;
}
で、出来たんですが、、、
例えば、このデータで3件目のレコードを表示させたいって時のやり方教えてくださいm(__)m
320デフォルトの名無しさん:2014/05/10(土) 22:47:26.86 ID:mSYbJb4o
逆に聞きたい。なんで出来ないの?
321デフォルトの名無しさん:2014/05/10(土) 23:02:48.61 ID:ekEKKV6e
いきなり3件目ってことなのかね。
fseek( fp, sizeof( dat ) * 3, SEEK_SET ); で解決だったりして。
322デフォルトの名無しさん:2014/05/10(土) 23:04:21.70 ID:ev7/gDLE
件目
といった時
1オリジンだから
*2じゃないかな
323デフォルトの名無しさん:2014/05/10(土) 23:05:21.85 ID:O2yhZ3ex
sizeof(構造体)と構造体メンバーの合計サイズがイコールとは限らないとか
そういう問題じゃなくて?
324デフォルトの名無しさん:2014/05/10(土) 23:13:45.12 ID:PndWl6nF
デバッグ的な感じの表示だけなら
i == 2 の時だけprintfすればいい気が
処理コスト的に考えればやっぱりfseek使う方がスマートだと思う
325319:2014/05/10(土) 23:23:53.38 ID:daXnFUnI
fseek( fp, sizeof(dat)*3, SEEK_SET );
printf("%d %d %s\n", dt.test1 , dt.test2 , dt.nm);
としたんですが、表示がおかしいんですよ。
後、
>sizeof(構造体)と構造体メンバーの合計サイズがイコールとは限らないとか
それも聞こうと思ってました。出来たのを見るとファイルサイズが100バイトになってるのが?なんですけど。
326デフォルトの名無しさん:2014/05/10(土) 23:25:34.78 ID:ev7/gDLE
#pragma pack
で検索だな
327デフォルトの名無しさん:2014/05/10(土) 23:31:44.38 ID:ekEKKV6e
まずは fseek を調べるところから始めろよ。
それでどーして表示できると思えるんだ。
328デフォルトの名無しさん:2014/05/11(日) 00:01:47.36 ID:/Ar5RUMp
sizeof(dat)一つが20バイトでその中身は
int test1 4バイト int test2 4バイト char nm[10] が10バイト
そして多分最後に詰め物が2バイト
それが5セットで100バイト

fseek( fp, sizeof(dat)*2, SEEK_SET );
fread(&dt,sizeof(dat),1,fp);
printf("%d %d %s\n", dt.test1 , dt.test2 , dt.nm);
329319:2014/05/11(日) 00:03:30.38 ID:9n+Ded1d
>>327
すいませんね
fseek( fp, sizeof(dat)*3, SEEK_SET );
if (fread(&dt, sizeof(dat),1,fp) == 1){
printf("%d %d %s\n", dt.test1 , dt.test2 , dt.nm);
}
で出来ました。この件数の位置については>>322さんの言うとおりで、それも修正しないといけないですが。
後、>>326さん、ありがとです。
330デフォルトの名無しさん:2014/05/18(日) 15:31:10.25 ID:FscDVE+k
if文が10個あるのと、switchでcaseが10個あるのとではどっちがいいんですか?
331デフォルトの名無しさん:2014/05/18(日) 16:02:54.17 ID:Z+XtEV4Y
コンパイラが適切に処理してくれると思うよ
332デフォルトの名無しさん:2014/05/18(日) 16:16:58.03 ID:pYhQF883
>>330
ある分岐処理についてif文とswitch文のどちらでもコード化できるなら、
迷うことなくswitch文を使うべき
if文では条件判定として任意の式が書けるのに対し、
switch文のcase節だと定数式しか書けない
言い換えると、switch文のほうがコードとして表現できる範囲が狭い
あえてswitch文を選ぶことによって、コードの読み手に対して
この分岐処理は定数式で条件判断できるという意図を示すことができる
333デフォルトの名無しさん:2014/05/18(日) 16:51:24.32 ID:PgXwbEuB
break文を書き忘れたのが意図的かどうかわかりにくいから、
if文で書け
334デフォルトの名無しさん:2014/05/18(日) 17:15:33.31 ID:gVgdo/dn
かなり前だが、VCのDLLスケルトンのbreak無しを見落としてバグったことあるな…
335デフォルトの名無しさん:2014/05/18(日) 17:31:10.91 ID:4n3Aw6on
最後の default: にも break; 入れてるw
336デフォルトの名無しさん:2014/05/18(日) 17:36:24.82 ID:uXRvIAKx
プログラマー紹介みたいなのでその人の部屋の画像が映し出された時
PC環境が大抵多画面なのは何故ですか?
俺みたいにノート一台でプログラミングするのは稀?
337デフォルトの名無しさん:2014/05/18(日) 17:38:18.21 ID:lWjJVkd2
多分岐を助長する傾向が生じるから、case文は使わない。排斥すべき。
338デフォルトの名無しさん:2014/05/18(日) 17:40:45.23 ID:lWjJVkd2
>>337
すみません、自己レス。ここでは、switch文は使わないとしてください。
339デフォルトの名無しさん:2014/05/18(日) 17:44:15.62 ID:Epdlusmt
定数で分岐処理するなら、関数テーブルを作って
関数へのポインタで処理すればすっきりするのでは?
340デフォルトの名無しさん:2014/05/18(日) 18:44:37.25 ID:KHcRh0FR
昔ならオーバーヘッド云々と言えたんだけどねぇ。
341デフォルトの名無しさん:2014/05/18(日) 19:37:59.33 ID:untGUeAU
>>332
俺もswitchは好きだが、
 if(){
 }else if{
 }else……
とすればインデントは増えないことを知ってからif派になった。
どうせ同じ意味になるしねー
>>336
俺も基本ノートだったが、中古のサブモニくっつけたら世界が変わったぞ
(ブラウザ画面とかを別に避けて表示できるからかなり捗る)
342デフォルトの名無しさん:2014/05/18(日) 19:43:07.84 ID:gVgdo/dn
>>339
case文が数万個とかなったらその方が高速になるね
343デフォルトの名無しさん:2014/05/18(日) 19:51:21.73 ID:oxq+ikAO
>>336
中古で安く調達して試してみるといいよ
仕事(マじゃないよ)でも手放せない
344デフォルトの名無しさん:2014/05/18(日) 19:52:25.54 ID:oxq+ikAO
>>342
Windows の例題はそんなのしかみたことがない
345デフォルトの名無しさん:2014/05/18(日) 20:39:00.62 ID:h2IaAd5k
>>330
定数で単純に分岐するなら switch( ) の方が望ましいと思う。
コンパイラによるけど、間違えて同じ定数書いた時にエラーにしてくれたり、enum だとさらに、使われてない定数があることを警告してくれるとかの支援機能があるから。
346デフォルトの名無しさん:2014/05/18(日) 20:44:35.52 ID:BExb4OPW
>>333
意図的ならコメントにFALLTHROUGHって書いてるな
347デフォルトの名無しさん:2014/05/18(日) 21:01:34.23 ID:gVgdo/dn
>>342をコードにすると
http://ideone.com/u0lX5b
みたいなイメージ
348デフォルトの名無しさん:2014/05/18(日) 21:36:52.53 ID:P2EXL/Ge
特に理由がなければ可読性の高いswitchの方がいいだろうね
ifの条件に定数以外を使えることは、if〜else if方式の欠点でもある
バグも温床になるよ
349デフォルトの名無しさん:2014/05/18(日) 21:46:20.97 ID:vsDYEvfp
switchなら最適化で線形探索より速くなるね
350デフォルトの名無しさん:2014/05/18(日) 21:54:05.96 ID:N+11ThYv
case分が64個とか制限なかったっけ?
351デフォルトの名無しさん:2014/05/18(日) 22:12:13.35 ID:C1UdNOr5
caseは最低256個だったような
352デフォルトの名無しさん:2014/05/18(日) 22:24:03.73 ID:Eb7sh+a5
(EOF(-1)も扱うことを想定して)257だよ
353デフォルトの名無しさん:2014/05/18(日) 22:33:24.98 ID:4n3Aw6on
>>336
作成中のアプリの画面用と、デバッグ情報の表示用とか
複数モニターはわりと便利
354デフォルトの名無しさん:2014/05/18(日) 22:59:47.17 ID:ber0Pvb0
switch()〜case:は0からの連番ならテーブル処理、
それ以外はif文使用と変わらない処理だって昔聞いた。
86系の16bit時代の話で他の環境ではどうなるか知らない。
355デフォルトの名無しさん:2014/05/18(日) 23:05:08.55 ID:Z6hzAnou
>>354
90年代の前半ころのMS-Cは、分岐が7以上で等差数列だったらテーブルジャンプになってたわ。
0からとかって縛りはなかった。
356デフォルトの名無しさん:2014/05/19(月) 04:09:48.37 ID:RBLcqImu
gccならcomputed gotoが超速い
357デフォルトの名無しさん:2014/05/19(月) 06:13:46.72 ID:SdRbB6EK
ワシはアナルにプチトマト入れたり出したりしとる
ごっつう気持ちええで〜
358デフォルトの名無しさん:2014/05/19(月) 10:29:46.95 ID:1fVFahQ0
caseが2〜3個程度のswitchってifを使った時と同じコードになっちゃうんだよなw
359デフォルトの名無しさん:2014/05/19(月) 13:22:35.66 ID:wBsls3I6
>>358
別にswitch使うのはifより速いからじゃないし
360デフォルトの名無しさん:2014/05/19(月) 17:46:02.98 ID:RdUiR/FU
多画面について質問です。
多画面の場合そのディスプレイのOSは何になるのですか?
C言語勉強してるのですが、プログラミングと出力で分けたい
361デフォルトの名無しさん:2014/05/19(月) 18:02:37.82 ID:DMkpVtrD
| 検索結果:該当0件
|
| ちょっと何言ってるか分からないです
| 
|
| [ オプション(O) ]   [ 検索(S) ]
|
`──────────┐ ┌───
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ
362デフォルトの名無しさん:2014/05/19(月) 18:07:18.47 ID:RdUiR/FU
>>361
メインで使うPCのディスプレイはOSが入ってると思うけどサブ画面の場合
OSはどうしたらいいんですか?
363デフォルトの名無しさん:2014/05/19(月) 18:34:30.85 ID:DMkpVtrD
一つのPCに複数のディスプレイがつながってる環境ならそのPCが起動してるOSが全部統括管理するのが普通だが?
それ以外の環境なら設計者次第だろ。
364デフォルトの名無しさん:2014/05/19(月) 18:56:04.46 ID:Qnqq0oOU
プログラム入力用のモニタと実行用のモニタの2画面構成にしたいってことか?
マルチモニタ、マルチディスプレイで検索しろ。
それより前に日本語勉強しなおせ。
365デフォルトの名無しさん:2014/05/19(月) 19:45:49.91 ID:RdUiR/FU
>>363
ということはサブで見せたい画面だけを移動するってことですか?
そういうのってソフトいらないのですか?>>364
分かりにくい説明の質問だったらすいません、難しい分野の問題で
言語からちょっと関係ないから手慣れてないので…
366デフォルトの名無しさん:2014/05/19(月) 19:46:11.60 ID:8OKT1u6C
OS(の設定)をどうしたらよいかって?
そのOSとマルチモニタ・マルチディスプレイでググレ

ノートPC + Windows とかだと、Fnキーのコンビネーションで プロジェクター接続 と称して
マルチモニタ対応してたりするが
367デフォルトの名無しさん:2014/05/19(月) 19:50:11.83 ID:RdUiR/FU
>>366
特定のアプリケーションだけプロジェクターに映し出すって可能なんですか?
例えばメモ帳だけみたいな
368デフォルトの名無しさん:2014/05/19(月) 19:50:49.94 ID:BaAr9nqN
まず試せよ。
369デフォルトの名無しさん:2014/05/19(月) 22:08:42.20 ID:mbE3Cq5f
っていうかC言語関係ねー
370デフォルトの名無しさん:2014/05/20(火) 00:05:48.25 ID:R0sc+CFe
>>362
> ディスプレイはOSが入ってると思うけど

入ってません
371デフォルトの名無しさん:2014/05/20(火) 00:17:31.12 ID:Q2AhpEnY
>>370
流石にそれを言い切るのは無理があると思うけど・・・

http://special.nikkeibp.co.jp/ts/article/a00g/105808/
http://h50146.www5.hp.com/directplus/personal/promotions/desktops/lineup/pri_02.html
http://www.dell.com/jp/p/desktops#!dlpgid=all-in-one-desktops

この手のを2台持ってるとかならありうる
372デフォルトの名無しさん:2014/05/20(火) 00:24:52.13 ID:zlaxDiQa
>>371
たぶん「外部出力」すらよくわかっていないんだろうな……
373デフォルトの名無しさん:2014/05/20(火) 00:41:43.72 ID:ROp5ZExO
>>371
どうみても (ディスプレイ一体型の) パソコンだろ
374デフォルトの名無しさん:2014/05/20(火) 00:45:33.61 ID:2Er/qV0g
というか、ディスプレイにも制御用のプログラムが載ってるなら、OS も入ってて不思議はないかと。
イメージしてる物とは違うだろうけど。
375デフォルトの名無しさん:2014/05/20(火) 01:25:33.85 ID:XQmbVY7L
とりあえず質問者は勘違いしてるのは間違いない。
376デフォルトの名無しさん:2014/05/20(火) 04:59:23.60 ID:Ncw8CVoL
ID:RdUiR/FU ←C言語勉強してる?
うーん
OSやhardのことそこまで知らずにC言語って
うーん
凄い場違い感
LOGOでタートルしてたら?
(Cをなにに使うんだろう)
377デフォルトの名無しさん:2014/05/20(火) 13:32:30.91 ID:fbMM1sIr
ひょっとしたらスマホで常にフル画面しか使わない世代かもしれない
378デフォルトの名無しさん:2014/05/20(火) 22:44:47.06 ID:Q2AhpEnY
まぁ釣り質問でなければ相当の無知だわな
379デフォルトの名無しさん:2014/05/21(水) 21:46:32.79 ID:7ghH1huH
合計がおかしくなるんですがなぜだ




#include <stdio.h>

int main(void)
{
int box[9];
int i=0,max=0;
printf("please input number\n");


while(i < 8)
{
printf("input:%d:",i+1);
scanf("%d",&amp;box[i]);
i++;
max += box[i];
}


printf("max = %d\n",max);

return 0;
}
380デフォルトの名無しさん:2014/05/21(水) 21:51:01.61 ID:x7NyX0pH
>>379
ループのところ、while文の代わりにfor文を使ってみよう
381デフォルトの名無しさん:2014/05/21(水) 21:54:25.42 ID:AVBbOV7Q
>>379
インクリメントの位置がおかしいから
382デフォルトの名無しさん:2014/05/21(水) 21:54:47.54 ID:7ghH1huH
forだとうまくいきますが
なぜかわからない
383デフォルトの名無しさん:2014/05/21(水) 21:55:30.78 ID:GgA/fGkQ
>>379
・「i++;」と「max += box[i];」の位置が逆。
 そりゃ未定義のとこ足したらおかしくなりますわ
・そもそも「合計」はmaxじゃなくてsumとかだろフツー
・と言うかこの場合繰り返しにはwhileじゃなくてfor使えば良くね?
・だいたいループして一回一回足すんならbox[]は不要
・そしてこのコードだとwhileの中が8回しか実行されないわけだがそれでいいのか?
 (配列が9個あるのに8個までしか代入できていない)
384デフォルトの名無しさん:2014/05/21(水) 21:56:37.36 ID:iCWid1WR
>>379
int box[9]
while (i<8)
になってるけど、whileの条件は適当?
385デフォルトの名無しさん:2014/05/21(水) 21:57:06.26 ID:7ghH1huH
うまくいきました
ありがとう御座います。
386デフォルトの名無しさん:2014/05/21(水) 21:59:32.79 ID:7ghH1huH
自分で適当作った問題です。
383さんありがとう御座います。
387デフォルトの名無しさん:2014/05/21(水) 22:32:46.34 ID:zPiEeEEi
if文の中にdo文入れるとループしないとかありますか?
388デフォルトの名無しさん:2014/05/21(水) 22:43:09.06 ID:uclrUxKL
そりゃ、ループの条件式によるだろ。
389デフォルトの名無しさん:2014/05/21(水) 22:54:23.20 ID:zPiEeEEi
#include <stdio.h>
int main(void)
{
int n1,n2,sum=0;
puts("二つの整数を入力してください。");
printf("整数A:"); scanf("%d",&n1);
printf("整数B:"); scanf("%d",&n2);
if (n1<n2) printf("%d以上%d以下の全整数の和は",n1,n2);
else printf("%d以上%d以下の全整数の和は",n2,n1);

if (n1<n2)
do
{
sum+=n1;
n1++;
} while (n1>n2);

else
do
{
sum+=n2;
n2++;
} while (n2<n1);

printf("%dです。\n",sum);

return (0);
}

これなんですが
390デフォルトの名無しさん:2014/05/21(水) 22:56:56.91 ID:AVBbOV7Q
>>389
if文じゃなくwhileのとこの条件を間違ってるだけだよ
上のと下の同じになってる
391デフォルトの名無しさん:2014/05/21(水) 23:06:28.39 ID:zPiEeEEi
>>390
解決しました!ありがとうございます!
392デフォルトの名無しさん:2014/05/22(木) 23:16:19.74 ID:Pj2Kcb1G
ファイル@で宣言したグローバル変数A
ファイルAで宣言したグローバル変数B
ファイルBで #define A B とした場合
ファイルB内では変数A変数Bどちらもexternでの宣言が必要ですか?

なんかよくわからんくなってきた
393デフォルトの名無しさん:2014/05/22(木) 23:17:27.98 ID:2g4glAhM
>>392
実際に試してみたか?
394デフォルトの名無しさん:2014/05/22(木) 23:20:21.70 ID:Pj2Kcb1G
↑違うわ
ファイル@で宣言したグローバル変数A
ファイルAで #define B A とした場合
ファイルA内では変数Aのextern宣言が必要か?

でした
395デフォルトの名無しさん:2014/05/22(木) 23:29:21.89 ID:MCSdHCQL
#define B A
って、単にテキスト上のBと書いてある箇所をコンパイル前にAと置き換えてるだけ
だからextern Bはいらない
extern Aだけでいい

#includeも#defineも単にコンパイル前に文字列を置き換えてるだけ
何か高度なことやってるわけでもなんでもない
396デフォルトの名無しさん:2014/05/22(木) 23:34:23.91 ID:Pj2Kcb1G
>>393 >>395
環境落としてやってみた
externは必要だった ありがとう
397デフォルトの名無しさん:2014/05/24(土) 07:35:31.97 ID:jYoMAPG8
Cか?たぶん普通にリンクできるはずだが
いわゆる仮定義というやつだ
398デフォルトの名無しさん:2014/05/24(土) 11:17:49.87 ID:YIPAx190
常駐先企業の人件費抑制に利用されただけの人生だったな残念
399デフォルトの名無しさん:2014/05/24(土) 11:19:32.52 ID:YIPAx190
常駐先企業の人件費抑制に利用されただけの人生だったな残念
400デフォルトの名無しさん:2014/05/24(土) 11:22:09.39 ID:YIPAx190
常駐先企業の人件費抑制に利用されただけの人生だったな残念
401デフォルトの名無しさん:2014/05/24(土) 11:45:40.13 ID:oAEIG7cF
ご教授願います!

if(a == 1 && b == 1 && c == 1)
{
x = 1;
}
else
{
x= 0;
}

と、

if(a == 1)
{
if(b == 1)
{
if(c == 1)
{
x = 1;
}
}
}
else
{
x = 0;
}
では処理は同じだと思いますが、どちらが素敵ですか?
402デフォルトの名無しさん:2014/05/24(土) 12:30:38.58 ID:VMgZVPvZ
前者
403デフォルトの名無しさん:2014/05/24(土) 13:44:51.23 ID:47+sObPK
保守
404デフォルトの名無しさん:2014/05/24(土) 14:18:30.03 ID:23YTvX7U
>>401
>if(a == 1 &amp;&amp; b == 1 &amp;&amp; c == 1)
じゃなくて
if(1 == a &amp;&amp; 1 == b &amp;&amp; 1 == c)
と、左オペランドには極力、代入不可能なものを置くクセを
今のうちに付けておくことを勧める

こんなミスを防止出来るから
if( a = 1 ){ // a == 1 のつもり

なお、素敵なのは俺も前者
405デフォルトの名無しさん:2014/05/24(土) 14:18:39.53 ID:QHw690bV
同じじゃない
406デフォルトの名無しさん:2014/05/24(土) 14:25:42.34 ID:Gl+D6mpu
いまどきのコンパイラなら警告出してくれるから変な習慣つけるなよ
407デフォルトの名無しさん:2014/05/24(土) 14:35:06.44 ID:kdyeTW/9
>>404
それはfj時代から忌み嫌われていた記述法
現代には無意味
408デフォルトの名無しさん:2014/05/24(土) 15:04:42.65 ID:t6SgnRXz
嫌いじゃないが初心者に勧めるものでもない
現場によってはコーディング規約が〜とかいって書き直しもあるかも
409デフォルトの名無しさん:2014/05/24(土) 15:15:25.02 ID:23YTvX7U
>>406-408
Linuxのカーネルで if( bEnableRoot = 1 ... )っぽいコードで
行うトロイが昔なかったか?
コンパイラが指摘するコンパイルミスの場所が「完全」に正確ではないのを思えば
コンパイラに全幅の信頼を置くC/C++プログラマーはどうかと思うが。
410デフォルトの名無しさん:2014/05/24(土) 15:22:59.55 ID:47+sObPK
コンパイラにかける前に、エディタの検索機能でチェックできるレベル
411デフォルトの名無しさん:2014/05/24(土) 15:24:21.19 ID:t6SgnRXz
>>401
全文見えないから無視していたが

同じじゃない
412デフォルトの名無しさん:2014/05/24(土) 15:30:37.69 ID:kHQIp9PW
前者の場合ってaが弾かれたらbとcの判定って無くなるの?
413デフォルトの名無しさん:2014/05/24(土) 15:44:11.88 ID:P2bp3FVu
>>401
> では処理は同じだと思いますが、どちらが素敵ですか?
違うよ。バカ

> ご教授願います!
どこの馬の骨かわからんクズを弟子するマヌケは世界中で>>402-402,>>405-410の6匹だけ
「教授」の意味を調べてから出直せ
414デフォルトの名無しさん:2014/05/24(土) 15:47:18.19 ID:0C1DrH8Y
>>412
yes

x && y の意味は if x then y else false で
x || y の意味は if x then true else y になる
言い換えると、これらは純粋な論理演算子ではなく、
条件分岐を演算子で表現した構文糖(syntax sugar)である

したがって x && y は以下の意味と同じであり、
 if x then
   if y then
     true
   else
     false
 else
   false
条件式 x が偽であれば条件式 y は評価されない

他の言語、たとえばRubyにも同様な演算子 || や && があるし、
それほど珍しい構文でもない
415デフォルトの名無しさん:2014/05/24(土) 15:50:34.78 ID:hNw+IwYI
短絡評価と言えばいいのに
416デフォルトの名無しさん:2014/05/24(土) 16:00:26.89 ID:kdyeTW/9
>>409
一定の説得力はある
が私はそうは書かない、多分量が少なくてそういうミスで手ひどい思いをしたことがないだけなのかもしれない
417401:2014/05/24(土) 16:04:08.92 ID:oAEIG7cF
お答えくださった>>402以下さんたちありがとうございます!!
もう一つだけいいですか?



int a,b,c;
floart x;

という変数があるとします

x = (float)a + (float)b + (float)c;

と、

x = (float)(a + b + c);

では同じ処理になりますか?
よろしくお願いします。
418デフォルトの名無しさん:2014/05/24(土) 16:14:50.92 ID:6HD9LOix
自分で試してみる気はないの?
419デフォルトの名無しさん:2014/05/24(土) 16:18:56.76 ID:kdyeTW/9
>>417
同じにならない処理系があったら知りたいぐらいだが
まあ、それはさておき、float は「float を使うそれなりの理由がない限り」やめておいたほうがいい、ここは double で。
420デフォルトの名無しさん:2014/05/24(土) 16:51:12.28 ID:Xq6pP+IW
a+b+cがintの範囲を超える場合は?
421401:2014/05/24(土) 16:55:31.68 ID:oAEIG7cF
>>418

すみません


>>419

ありがとうございます
しつこくてすみません
floatよりdoubleを優先する理由を教えて頂けますか?
422デフォルトの名無しさん:2014/05/24(土) 17:26:44.70 ID:kdyeTW/9
>>421
printf()
423デフォルトの名無しさん:2014/05/24(土) 17:29:50.60 ID:Cq+cm/k7
用途によるかと
精密な精度が欲しければ何らかのライブラリ、
通常の用途にはdouble、グラフィックスとかならfloatが基準になるかと
424デフォルトの名無しさん:2014/05/24(土) 17:31:40.52 ID:0m0yQ+Qd
>>419
俺も聞いてみたい。floatよりdoubleっていう根拠は?
425デフォルトの名無しさん:2014/05/24(土) 17:35:35.96 ID:imaRiqLQ
>>421
いまどきのCPUは、doubleでもfloatでも同クロックで演算できるので
あえて精度が低いfloatを使う必要は、普通は無い

>>422
printfの暗黙の型変換は、doubleを使う理由にならないのでは?
426デフォルトの名無しさん:2014/05/24(土) 17:40:00.17 ID:kdyeTW/9
>>425
printf() というか不定長引数の場合の double 格上げ、というお約束自体が、当時の時点では float の演算速度と double の演算速度が変わらない現実を反映しているような気がして
もっとも float の方が確実に速い、あるいは float しかない、という場合がある(そうな)ので、それはそういう理由で float を使うのだろうね、やったことはないけれども
427デフォルトの名無しさん:2014/05/24(土) 17:40:01.23 ID:lzaOmnko
単に精度が倍だからだろ
必要精度を無視してメモリーも時間も使い放題だな
必要精度をはじきだせず、こまい計算しかしないならいいんじゃね?いつもダブルで

やだー、ダブルー、えっちー
トリプルにしたいなぁ、聖子ぉ!
428デフォルトの名無しさん:2014/05/24(土) 17:48:07.05 ID:MviBHeCj
>>427
お前はこのスレでレスする必要が無い。お前の存在は不要だ。
429デフォルトの名無しさん:2014/05/24(土) 17:53:53.40 ID:imaRiqLQ
>>426
自分も格上げする理由は分からない。
格上げすれば、cal.ee側はdoubleだけ考えればいいので単純になるから、かなあ

複数のfloat値をまとめて演算するSIMD命令がある(CPUもある)ので、
演算の観点でもfloatが全く不要ではないね。あと、もちろんメモリ上のサイズが違うので
配列で大量のデータを持つときとかはfloatにする意味がある
430デフォルトの名無しさん:2014/05/24(土) 18:43:52.61 ID:trY52c2m
intよりshortを勧める奴はいないだろ。
doubleとfloatも同じような関係だ。

>>425
printf()に限らず、暗黙の昇格があるからというのは理由になるのでは?

>>423
グラフィックスだからと言ってfloatを基準にする理由にはならないのでは?
たまたま低精度のライブラリを使うからと言うのは理由になるだろうが。

>>419
>417の前者と後者が同じ結果になるかどうかは兎も角同じ処理になる阿呆な処理系はないと思うぞ。
実際、>420が指摘しているが違う結果になることさえあるのだから。

>>404
両辺が代入可能な場合にエラーに頼る>404流は全く役に立たない。
そうであるならば、警告に頼る>406流にやや分があるんじゃないかな。
いずれにしても、読み易さを考えれば>404流は何十年も前にダメを出されているよ。
431デフォルトの名無しさん:2014/05/24(土) 18:56:17.02 ID:Ag0dohUQ
>>430
おお、頭良さそうやのう
感心したで
マジやで

コラコラ、そこの見学者、感じたわけやないで
あ、こら乳首さわるな、感じるやないけ
432デフォルトの名無しさん:2014/05/24(土) 19:05:47.35 ID:BoH7rvjb
よくforループを「for(int i = 0; i < 10; ++i)」みたいに書いたりするじゃん?
この場合例えばintの部分をunsignedにするとかunsigned charにするのってただの自己満足?
(メモリはケチれるけど遅い、みたいなことがあったりするのか?)
433デフォルトの名無しさん:2014/05/24(土) 19:11:52.98 ID:5k74nlaX
>>419
intとfloatって同じ32bitなら桁落ちがあるからfloatにするタイミングで結果が違ったりするなじゃないの?
434デフォルトの名無しさん:2014/05/24(土) 19:12:11.71 ID:STwDwgyi
>>432
相当貧弱(8bitマイコンとか)でもない限り自己満足の世界だと思う。
必要に迫られない限り、intでいいと思う。
435デフォルトの名無しさん:2014/05/24(土) 19:18:14.39 ID:rb+gQeLM
何かの理由で
for (i=9; i>=0; --i)
ってやるには、intしかダメ
436デフォルトの名無しさん:2014/05/24(土) 19:27:48.30 ID:BoH7rvjb
>>434
目一杯速くしたいんだが、小さなループなら手動で展開した方が速いかな?
437デフォルトの名無しさん:2014/05/24(土) 19:34:55.39 ID:STwDwgyi
>>436
環境によるとしか言えないかな。
基本的にその手の最適化は、実測しか確認方法が無いんだよ。

cpuやキャッシュメモリとかにもよるし、ループ内の処理やメモリアクセスの仕方とかにも相当影響を受けるからね。
438デフォルトの名無しさん:2014/05/24(土) 19:39:13.69 ID:u1TcTJvP
register int にするとか
439デフォルトの名無しさん:2014/05/24(土) 19:40:23.26 ID:5k74nlaX
いっそ自分でアセンブルすればよい
440デフォルトの名無しさん:2014/05/24(土) 19:50:03.82 ID:Pr/J08VU
>>438
今時 register って...
441デフォルトの名無しさん:2014/05/24(土) 20:00:06.46 ID:DxUSuDcC
>>436
環境とコンパイラによるな。
マイコンの話だけど良い開発環境では中間生成物のアセンブラが見れるからそこで見たらわかるんじゃね?
だいたいその場でしか使われないローカル変数はメモリ領域に場所とらずに、
レジスタ内で処理するようにコンパイラで最適化されるんじゃないかな。
442デフォルトの名無しさん:2014/05/24(土) 20:23:43.17 ID:rb+gQeLM
>>441
余程でなければどのコンパイラでも出力できるでしょ
それなりに慣れてないと何書いてるかさっぱりだと思うが
443デフォルトの名無しさん:2014/05/24(土) 20:35:03.91 ID:dLm6fu0H
>>432
for(auto i = 0; i < 10; ++i)
444デフォルトの名無しさん:2014/05/24(土) 20:46:11.10 ID:BoH7rvjb
>>443
それ自動的にintとかにならない? 小さい数字だと自動でuint8_tみたいになったりするの?
445デフォルトの名無しさん:2014/05/24(土) 20:54:17.55 ID:trY52c2m
>>433
floatの方が精度が低いから、例えば2^31-1から1を引く処理をfloatでやろうとすると結果が得られない。
逆に、int(32bit)の方が値域が狭いから、2^31-1に1を足すとオーバーフローしてしまう。

>>435
int以外でもshortでもsigned charでもいいのでは?w

>>436
賢いコンパイラを使うのが一番。ループのアンロールも行なってくれるし、
レジスタが豊富なCPUなら並列演算を行なうようにしてくれる。
446デフォルトの名無しさん:2014/05/24(土) 20:55:17.07 ID:trY52c2m
>>443
そもそも何を期待しているんだ?
C++のautoと違って、Cのautoは只の自動変数であることの宣言だぞ。
447デフォルトの名無しさん:2014/05/24(土) 21:54:09.13 ID:CbUGe6dU
>>435
>何かの理由で
unsigned だと i>=0 は常に真だからだろw
448デフォルトの名無しさん:2014/05/25(日) 00:02:47.33 ID:VzWpVfvF
ヒマなのでちょっと抽出してみました
>>408 >>421 >>425 >>427 >>430 >>436 >>441 >>443
449デフォルトの名無しさん:2014/05/25(日) 00:13:44.61 ID:HKoUIF2h
>>448
私のレスも含まれているけど、何を抽出したの?
450デフォルトの名無しさん:2014/05/25(日) 00:16:58.48 ID:Y097JzWz
>>448
自演だとでも? (ヾノ・∀・`)ナイナイ
451デフォルトの名無しさん:2014/05/25(日) 02:54:35.27 ID:FAQcyghX
>>448
お前、精神病だろ
でも、自演認定するやつは大概、どれとどれが自演なんだと改めて聞くと、まず答えないんだが自分から列挙するとは
そこが珍しい。
それとも自演認定以外の列挙か?と一応書いておこう。
452デフォルトの名無しさん:2014/05/25(日) 04:44:37.63 ID:mQ7FRJ95
ワロタ
453デフォルトの名無しさん:2014/05/25(日) 08:57:09.35 ID:sHbcQ04K
最近のcygwinはwin32apiでウィンドウ出したりできるんだな
普通にゲーム作れちゃうじゃん
454デフォルトの名無しさん:2014/05/25(日) 09:33:36.41 ID:wdt8VpUX
でもCygwinなのにWinAPIってそれどうなのw
455デフォルトの名無しさん:2014/05/25(日) 09:45:26.69 ID:sHbcQ04K
cygwinの環境でDXライブラリって使えるのかな
456デフォルトの名無しさん:2014/05/25(日) 10:11:52.12 ID:FiG/MmOi
>>453
作れるけど
VisualC/C++と比べ処理速度が犠牲になる可能性有
457デフォルトの名無しさん:2014/05/25(日) 11:32:39.13 ID:NeNyrW9A
458デフォルトの名無しさん:2014/05/25(日) 11:34:20.05 ID:NeNyrW9A
>>456
win32apiを直接呼び出すのにどうして処理速度が犠牲になるの?根拠はなに?
459デフォルトの名無しさん:2014/05/25(日) 14:58:17.23 ID:orLdyf4Y
>>458
最適化されない

cygwinであればcygwin1.dll経由になるのも原因
mingwならその心配もないようだが
460デフォルトの名無しさん:2014/05/25(日) 15:16:40.65 ID:SjhZACZk
>>459
cygwin1.dllはWindowsにないシステムコールやライブラリ関数を
実現するためのもので、win32api使うには必要ない
461デフォルトの名無しさん:2014/05/25(日) 16:01:14.85 ID:NeNyrW9A
>>459
win32api コールにどんな最適化があるというの?お前さん、最適化という言葉でごまかしていない?
あと、cygwin1.dll は POSIX のエミュレーションであり、 win32api をコールするのに必要ないためそもそも経由しない

とか書こうとおもったら、-mno-cygwin オプションは gcc3 で打ち止め、gcc4 から win32api を使用するなら
最初から mingw を入れろということのようだね
462片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0 :2014/05/25(日) 17:10:45.16 ID:kKmqkkdK
アンパンマン、新しい顔ができたよ!

仮想ファイル入出力
https://github.com/katahiromz/MZC3_fopen
463デフォルトの名無しさん:2014/05/25(日) 20:19:50.17 ID:sHbcQ04K
i686-pc-mingw32-gcc -mwindows test.c
とコンパイルするとcygwin1.dllなしで実行できるぽいね
464デフォルトの名無しさん:2014/05/26(月) 09:18:16.86 ID:wIhx+xqe
win32apiとPOSIX apiを混用したいからこそのcygwinではなかったのか
465デフォルトの名無しさん:2014/05/26(月) 22:20:08.04 ID:YyXvpck3
ファイル保存の時上書き保存じゃなくて、開いて保存の場合
異常に遅いんだけど、編集する感覚で0.1秒くらいでファイル新規保存
するようなソフト作るのって無理ですか?Cでです。
466デフォルトの名無しさん:2014/05/26(月) 22:32:44.29 ID:Pt2kiZ/o
>>465
日本語でおk
467デフォルトの名無しさん:2014/05/26(月) 22:39:59.04 ID:UcuPRHnz
PCの起動時にOSを起動じゃなくて、ファイルエディタをかわりに起動して実行させれば糞速いんじゃないですかね
つまりブートロードで起動させて使うソフトを作ればいいんですよ
全ての資源をエディタのみで使えるので爆速に間違いないですよ
昔はフロッピーディスクで起動するソフトウェアなどもありましたし
468デフォルトの名無しさん:2014/05/26(月) 22:41:59.57 ID:Pt2kiZ/o
>>467
そのファイルエディタはOSが無いと動かないんですがそれは
469デフォルトの名無しさん:2014/05/26(月) 23:06:22.99 ID:yHJImmyi
>>465
エスパー3級の俺の見立てでは
ファイルダイアログを開くのが遅いといっている気がする

シェルに干渉するソフトを無駄にたくさんインストールしているのではないか

ちなみに >>467 は3級程度では太刀打ち出来ない
470デフォルトの名無しさん:2014/05/26(月) 23:07:08.00 ID:ARSniqSI
昔々のROM BASICでもあるまいに w
471デフォルトの名無しさん:2014/05/26(月) 23:24:54.13 ID:YyXvpck3
そうですダイアログです
何でダイアログ開くのに3秒以上かかるんでしょう…
ガジェットみたくスライドして出てくるみたいな感じは無理なんですか?
472デフォルトの名無しさん:2014/05/26(月) 23:43:48.38 ID:n89vznUS
作れは?
473デフォルトの名無しさん:2014/05/26(月) 23:46:09.62 ID:NauQXfeu
必要なプログラムやデータがRAMに入ってないんだろ。
474デフォルトの名無しさん:2014/05/26(月) 23:50:58.58 ID:UcuPRHnz
win7を使ってるがファイルの保存のダイアログが開くのはアプリの起動単位で初回だけかな
475デフォルトの名無しさん:2014/05/26(月) 23:51:31.48 ID:UcuPRHnz
訂正
win7を使ってるがファイルの保存のダイアログが開くが数秒かかるほど遅いのはアプリの起動単位で初回だけ
476デフォルトの名無しさん:2014/05/26(月) 23:56:33.88 ID:NauQXfeu
定型のダイアログなんかはどっかのDLLに入ってるんだろ。
そのDLL読み込んで、ドライブやフォルダ情報読み込むのに数秒かかるんじゃね?
で、2回目からはある程度キャッシュに溜まってるから読み込み処理すっ飛ばすから速くなると。
477デフォルトの名無しさん:2014/05/26(月) 23:58:39.32 ID:UcuPRHnz
コモンダイアログの保存ダイアログを開いてるはずだから速いはずなんだけどね
478デフォルトの名無しさん:2014/05/27(火) 00:01:27.18 ID:0v3dLyrT
思い込みじゃね?実際に遅いんだから。
479デフォルトの名無しさん:2014/05/27(火) 01:19:56.01 ID:2wmi7VyA
>>477
明らかにそれ以外の無駄な処理が走っている
バージョンが上がる毎に無駄な機能が増えていくケース
480デフォルトの名無しさん:2014/05/27(火) 07:45:05.77 ID:25AWZBJ0
>>477
だが、しかし、待って欲しい。
>>465さんは、どのOSでなんというエディタを使った場合なのかを一切明らかにしていない!!
この状況において、
>コモンダイアログの保存ダイアログを開いてるはずだから
というのは、あまりにも判断が時期尚早との批判も免れ得ないのではないか?と言われても致し方あるまいのでは?
481デフォルトの名無しさん:2014/05/27(火) 08:50:01.93 ID:B1TDBu02
1回目が遅いのではない。
2回目以降が速くて1回目が本来の速度なのだ。
482デフォルトの名無しさん:2014/05/27(火) 08:54:53.51 ID:P0Ar98lF
HDDのスピンが止まってたとか、全ドライブの情報取得に時間かかったとかじゃね?
2回目以降はキャッシュから情報取得するから速かったと。

1回目から速くしたいならドライブ情報取得しないダイアログを自作してみたら?
483デフォルトの名無しさん:2014/05/27(火) 09:22:23.31 ID:WSMaSjRo
全ドライブをSSDにすれば速さの違いは気にならなくなる
484デフォルトの名無しさん:2014/05/27(火) 13:55:00.41 ID:2wmi7VyA
ディレクトリの中だけじゃなくて個々のファイルの中を見に行って
詳細情報やらアイコンやらを表示しているケースだろう
zipとか動画とかサーバーと同期させるツールとか

実際にその現象にぶち当たったことがなければ
的はずれな答えしか出てこない
485デフォルトの名無しさん:2014/05/27(火) 14:25:58.24 ID:wfBaHMaP
HDDの寿命って数年って言われてますけど本当ですか?
USBメモリですら4本もってますが4本とも3年以上持ってます。
C言語の話と関係ないですがSSDとかのはなしもあるし聞いておきたいです。
どうなんでしょう?

家のパソコンですが
8万で買ったエヌイーシーのデスクトップ 毎日6時間使い続けて
未だにHDD壊れず、8年経過

4万で買ったノート、4年使い続けて動作鈍くなったと感じるけど
リカバリーで常にスピード安定、HDD壊れず

どうなんでしょう?
486デフォルトの名無しさん:2014/05/27(火) 14:52:29.64 ID:gGML8YGy
数年のソースはどこ?
487デフォルトの名無しさん:2014/05/27(火) 15:55:55.12 ID:P0Ar98lF
稼働率と運次第。
488デフォルトの名無しさん:2014/05/27(火) 16:18:25.37 ID:MC9K/1O6
関係ないって判った上でスレ違いの話を強引にするってのもなかなか
489デフォルトの名無しさん:2014/05/27(火) 16:26:48.39 ID:6eXUGxGD
もろ精神病ぽいな
490デフォルトの名無しさん:2014/05/27(火) 20:31:49.05 ID:5raxgz7B
http://codepad.org/1AztD4JF

↑こういったプログラムを書きました
しかし作ってみたものの、自分が書いた部分がどういった動作をしているのかわかりません

44行目から85行目までどういった動作をしているのか教えてくれませんか?
491デフォルトの名無しさん:2014/05/27(火) 20:41:59.22 ID:gGML8YGy
C++はスレ違い
492デフォルトの名無しさん:2014/05/27(火) 21:17:15.83 ID:X03+53LE
たぶん本人はC書いたつもり
493デフォルトの名無しさん:2014/05/27(火) 21:25:40.17 ID:pZIBd1ud
>>490
だいたい読んでみた。
教えなくはないが、本当に自分で書いたか証明するために、
何を目的にどの変数を何の目的で使ってるか説明してみろ。
494デフォルトの名無しさん:2014/05/27(火) 21:39:40.18 ID:5raxgz7B
>>491
>>492
>>493
すいませんスレチのようでした
プログラムの内容はコメントの通りです
中身の輝度値と中央値は色々模索した結果で自分でもよくわからないのです
だから聞こうと思ったんであります
495デフォルトの名無しさん:2014/05/27(火) 21:52:47.98 ID:ZPl6eSmM
それC言語と関係なくね

画像処理 その14
http://peace.2ch.net/test/read.cgi/tech/1370170263/
496デフォルトの名無しさん:2014/05/27(火) 21:52:55.34 ID:X03+53LE
>>494
コピペは自分が書いたとは言わない
497デフォルトの名無しさん:2014/05/27(火) 21:55:54.04 ID:Qn21fMMC
http://nozomi.2ch.net/test/read.cgi/prog/1399958017/173
>>また若いうちは、a=0;b=1;・・・z=26;と体力でやっていたが
>これを解消するには
>struct{
>int a;
>int b;
>・
>・
>}alph;
>とやってからアドレスを取得
>int *p = &alph.a;
>for(i = 0; i < 27; i++){
>*(p+i) = i;
>}
>一個一個イコールでいれる場合(a=0;b=1;・・・z=26;)と比べ、
>宣言の書き換えがいり、コードを書くエネルギーはいるだろうが、
>間違いが少なくなる

プロはこうやるそうですが、これで破綻しないのはなぜですか?
498デフォルトの名無しさん:2014/05/27(火) 22:01:48.91 ID:iIiy8yYJ
>>494
自分でもよく分からんって、それプログラムとして意味あるんですかね……
最頻出と中央値の処理は「コードを読め」としか言いようがないなw
どうでもいいけど画像のピクセル数程度の大きさの配列をバブルソートしたくないでござる

bmpファイルって細かな形式があるけど、コードを読む限りだと8bitに決め打ち?
色々言いたいことはあるが、せめて「256」とかのマジックナンバーは無くそうぜ……
499デフォルトの名無しさん:2014/05/27(火) 22:03:27.15 ID:iIiy8yYJ
>>497
とりあえず一文字変数を大量に宣言して知らん顔する奴は屑だと思う
お前はそれで本当にいいと思っていたのかと小一時間問い詰めたい
500デフォルトの名無しさん:2014/05/27(火) 22:06:41.51 ID:4A6pA954
人差し指でしかタイプできないので一文字変数は大事だよ。
残業になっちゃうじゃないか無意味に長い変数名なんて…
501デフォルトの名無しさん:2014/05/27(火) 22:08:25.24 ID:pZIBd1ud
ところで、構造体内のメンバがintだと、intのサイズ単位でメンバごとにきれいに並ぶって保証されてたっけ?
502デフォルトの名無しさん:2014/05/27(火) 22:13:26.81 ID:4A6pA954
処理系のデフォルト次第だな。ほとんどの処理系は詰め合わせを制御できると
思うけどデフォルトがどうなってるかはチェックしておくべきだろうね。
503デフォルトの名無しさん:2014/05/27(火) 23:47:10.54 ID:wpX2Wr2x
そんなの設定で変更できる処理系あるの?
変更したりしたら、過去のオブジェクトファイルとかライブラリと互換性まったくなくなるじゃん
504デフォルトの名無しさん:2014/05/27(火) 23:53:58.25 ID:ctAn0FuG
プリプロセッサでパディングの明示指定する
のではなく
コンパイラへのコンパイル作業時のオプションでの制御か
505デフォルトの名無しさん:2014/05/27(火) 23:59:19.51 ID:ZPl6eSmM
メンバへのアクセス頻度で整理されたりはしないのか
506デフォルトの名無しさん:2014/05/27(火) 23:59:54.62 ID:UOcw9mK1
手元に規格書が無いので確認できないけど
sizeof int = 2,4,8
alignment = 1,2,4,8,16
なので常識的に考えて詰め物が必要になるケースはないよね
507デフォルトの名無しさん:2014/05/28(水) 00:02:14.23 ID:agGj7SX9
組み込みはCPU品種に合わせて調整・確認が必要だろ。
どこまでCの範囲にするかは微妙だけど
508デフォルトの名無しさん:2014/05/28(水) 00:32:14.16 ID:0PQQT2nt
struct xxx {・・・} x;
fread(&x, sizeof &x, 1, fp);

昔は、こういう構造体を丸ごとリード、ライトするような書き方が横行してたな。
今でもかもしれんけど。
509デフォルトの名無しさん:2014/05/28(水) 01:15:14.25 ID:mf7CxjoQ
GF(2)上の多項式のうち、既約であるものを列挙したいのですが、既約かどうかを判定する方法がいまいち分かりません

とりあえず、ここまで作りました ttp://ideone.com/9qtVWS
上記コードの int isIrreducible(int poly,int m) で既約かどうかを判定しています。
明らかに既約でない場合(polyが偶数の場合)は除外していますが、それ以外の場合が分かりません…

どなたか、助けて下さい……
510デフォルトの名無しさん:2014/05/28(水) 07:09:59.24 ID:mf7CxjoQ
すみません。事故解決しました。
511デフォルトの名無しさん:2014/05/28(水) 19:11:32.08 ID:TWIuAILv
的外れの質問かもしれませんが、javaにはドラッグの関数がありますよね?
javaでは関数ではなくてメソッドですが…

Cも標準関数を組み合わせる事でドラッグ(物体を移動)の機能を持たせる関数を
作る事が出来るのでしょうか?凄い疑問に思っていたので質問しました。
512デフォルトの名無しさん:2014/05/28(水) 19:12:52.37 ID:PzuNoYjz
できます
513デフォルトの名無しさん:2014/05/28(水) 19:19:32.93 ID:TWIuAILv
>>512
本当でしょうか?どうやるのでしょう?
514デフォルトの名無しさん:2014/05/28(水) 19:20:09.67 ID:PzuNoYjz
考えましょう
515デフォルトの名無しさん:2014/05/28(水) 19:30:58.10 ID:C/wNImYi
物体を移動させるんなら、ロボットか何か繋がないとね
516デフォルトの名無しさん:2014/05/28(水) 19:37:35.03 ID:WWWYZeLA
まず物体を定義して下さい。
517デフォルトの名無しさん:2014/05/28(水) 19:40:39.84 ID:PzuNoYjz
オッパイかオマンコです
518デフォルトの名無しさん:2014/05/28(水) 19:42:31.23 ID:WWWYZeLA
typedef struct {
 double position_x;
 double position_y;
 double position_z;
} Oppai;

void idou(Oppai *oppai, double x, double y, double z) {
 oppai->position_x += x;
 oppai->position_y += y;
 oppai->position_z += z;
}
519デフォルトの名無しさん:2014/05/28(水) 19:53:41.23 ID:mspF09G9
>>511
そもそもCの"標準関数"には画面描画もマウス操作も含まれない
WindowsなりXなりプラットフォームの機能を使わないとダメ
520デフォルトの名無しさん:2014/05/28(水) 20:05:38.22 ID:uT/cI3NV
>>519
端末にprintfで文字表示はwindowの機能じゃないんでしょうか?
521デフォルトの名無しさん:2014/05/28(水) 20:10:22.22 ID:uT/cI3NV
分からない

C言語例えばcygwinだと、OSは全く関係ないんですか?
OSにcygwinをインストールしてるからprintfはOSの機能では?
正確に言うと、C言語の定義をもったOSの機能?
522デフォルトの名無しさん:2014/05/28(水) 20:11:34.04 ID:BR1Tkgwo
printf()はこう作れという規格に基づいて
OSの機能を使って実装されてる
523デフォルトの名無しさん:2014/05/28(水) 20:13:50.70 ID:BR1Tkgwo
Windowsならコンソールに出力するWin32API等(例えばWriteConsole()等)を使ってprinf()関数を構成している
http://msdn.microsoft.com/ja-jp/library/windows/desktop/ms682073%28v=vs.85%29.aspx
524デフォルトの名無しさん:2014/05/28(水) 20:17:15.79 ID:uT/cI3NV
>>522
分かりやすい、
つまりprintf()も

windowabc()
windoudef()
................
とwindowsの関数に置き換わるってことですね?


で分からないのはDirectXがOSを介さないのは何故ですか?

Directx のdirection()関数があるとしたら、こう作れという規格に
基づいてOSの機能を使って実装されるのでは?
525デフォルトの名無しさん:2014/05/28(水) 20:20:05.47 ID:BR1Tkgwo
どう実装するかはC言語のコンパイラ開発者次第だし
DirectXを使って実装してるコンパイラもあるかもしれんし
そんなもん出回ってるCコンパイラ作ってる開発者ら本人に聞け
526デフォルトの名無しさん:2014/05/28(水) 20:23:01.28 ID:BR1Tkgwo
だいたい実行ファイルexeにコンパイルした時点でexeファイルに使うAPIの情報とか名前そのままで入ってるやろ
527デフォルトの名無しさん:2014/05/28(水) 20:23:34.00 ID:BR1Tkgwo
prinf()でHelloWorld出すだけのexeを解析でもすればいい
528デフォルトの名無しさん:2014/05/28(水) 20:24:26.65 ID:uT/cI3NV
>>525
いやDirectX OSの機能を介さないって意味が分からなくて…
OS上で動くプログラムは全てOSの機能を使うってことになるので
OSの機能を使わない事なんてあるのかなと…
何の機能使ってるんだろうか…
529デフォルトの名無しさん:2014/05/28(水) 20:25:42.36 ID:uT/cI3NV
http://dixq.net/forum/viewtopic.php?f=3&t=14446
同じ質問を過去にしましたが、分かりません
530デフォルトの名無しさん:2014/05/28(水) 20:28:01.28 ID:uT/cI3NV
あ、apiは使ってないってだけでOSの機能は使ってるってことですか
そりゃそうですよね
531デフォルトの名無しさん:2014/05/28(水) 20:30:54.77 ID:AwYxqhpy
ID:BR1Tkgwo の言ってることはデタラメだから信じない方がいい
532デフォルトの名無しさん:2014/05/28(水) 20:32:22.75 ID:uT/cI3NV
全ての言語はそのOS上で動くならOSの関数に変わると思うのですが
apiを使わない場合どうやってコードを実行できるのですか?
純粋な疑問です、というかいつまでたっても理解できない。
533デフォルトの名無しさん:2014/05/28(水) 20:39:42.64 ID:xq+pfC01
OSのサービスが必要なければAPIは使わないだろう。
APIを使わずにサービスと同等の処理をするのは現実的に
難しいだろうな。
534デフォルトの名無しさん:2014/05/28(水) 20:43:08.22 ID:cL3suHWh
ID:BR1Tkgwo
知ったか乙
535デフォルトの名無しさん:2014/05/28(水) 20:46:38.81 ID:r6RWITw2
>>532
DirectXもOSご提供の関数だよ。
OSの関数って言うのが何の事を言っているのかは良くわからないけど、別にWin32apiだけがOSの関数ってわけじゃないし。

特定条件下で特定用途に特化させたapiの一つがDirectXね。
536デフォルトの名無しさん:2014/05/28(水) 20:55:15.61 ID:uT/cI3NV
>>535
OS提供って、windows提供ってことですか?
537デフォルトの名無しさん:2014/05/28(水) 20:55:58.89 ID:uT/cI3NV
別にWin32apiだけがOSの関数ってわけじゃないし。
 ↑
???


windowsが提供する関数ってwin32apiだけじゃないんですか?
538デフォルトの名無しさん:2014/05/28(水) 20:56:52.09 ID:Fg+maZpD
昔はVRAM直書きしていただろ。あれはAPI (INT21H/BIOS) 使用してないよ。

DirectXはよくわからんけど、マルチタスクの場合、独占使用権の管理はOSに任せないといかんわな。
直接描画するのは好き勝手にしてもかまわないけど。
539デフォルトの名無しさん:2014/05/28(水) 20:57:50.51 ID:r6RWITw2
>>536
そだよ。
って言うか、windowsでしか提供されない。
540デフォルトの名無しさん:2014/05/28(水) 21:00:11.58 ID:jszffFGk
DirectXもOSの一部だと思っておけ。
541デフォルトの名無しさん:2014/05/28(水) 21:08:44.29 ID:r6RWITw2
>>537
えっと、win32apiってのは、windowsであれば、ほぼ必ず使える基本的な機能の関数群の総称ね。

それに対して、DirectXってのは動作環境に条件が着くの。
その条件さえ満たせば、(汎用の)win32apiより高速に動作するとかね。

想定する使い方が違うだけで、どちらもwindowsというOSが提供してくれる機能だよ。
542デフォルトの名無しさん:2014/05/28(水) 21:09:02.01 ID:uT/cI3NV
>>539
え??macやunixは?
>>540
なるほど
標準スタンバイがwindows、directxもOS化するってことですね
何か凄い理解した気がする
543デフォルトの名無しさん:2014/05/28(水) 21:11:06.96 ID:jgJmJNUO
面白い釣り師が現れたものよ
544デフォルトの名無しさん:2014/05/28(水) 21:15:03.72 ID:uT/cI3NV
>>541
なるほどー、DirectXはコードがそのままwindowコードに変換されず
windowsが直接処理できるってことなな?
例えばjavaのsystem.println()関数は、
windowコードもしくはdirectxコードに変換するってことですよね?


ただ疑問なんですが、macやunixもwindowコードみたいに、osで直接
処理できるコードはないんですか?
macもunixもOSですよね?

windowしか提供しないってことは
macのコードもwindowコードなんですか?
545デフォルトの名無しさん:2014/05/28(水) 21:23:17.59 ID:WWWYZeLA
ソフトウェアアーキテクチャでググれw
http://techon.nikkeibp.co.jp/article/HONSHI/20111028/199993/20111031_cs02.jpg
546デフォルトの名無しさん:2014/05/28(水) 21:30:17.13 ID:TCoF8qnI
>標準スタンバイ
変な単語作るなよ。
547デフォルトの名無しさん:2014/05/28(水) 21:31:13.86 ID:r6RWITw2
>>544
ちょっと勘違いと言うか、ソフトウェア一般に関する基礎知識が足りていないんじゃないかな?
コードの変換って何の事?
548デフォルトの名無しさん:2014/05/28(水) 21:34:47.94 ID:uT/cI3NV
>>547
コードをコードに変換する事です。
cのコードがwindowsのコードに変わって、最後はデバイスドライバから
アセンブラから機械語に変わるんでしょう?間違ってるでしょうか?

>>546
すいません。
549デフォルトの名無しさん:2014/05/28(水) 21:38:07.41 ID:C/wNImYi
OSもCで書いてあるとか言ったら腰抜かしそうだな
550デフォルトの名無しさん:2014/05/28(水) 21:39:14.45 ID:wUyF4O7+
頭痛いぐらい間違ってるな。
551デフォルトの名無しさん:2014/05/28(水) 21:42:42.95 ID:uT/cI3NV
>>549
OSはミドルウェアで書かれてるんじゃないですか?

イメージ

printf→windows()........→device()......→pop() push() add()→
2b4a6c.....→101010101010101100110100110101

こんな感じですが間違ってますか?
552デフォルトの名無しさん:2014/05/28(水) 21:43:02.61 ID:ABFwbD7m
>>549
OSを書くためにCが造られたとも.... (それだけじゃないだろうけどね)
553デフォルトの名無しさん:2014/05/28(水) 21:46:02.29 ID:YEAQ3RMD
ワロタ
554デフォルトの名無しさん:2014/05/28(水) 21:47:12.28 ID:WWWYZeLA
インタプリタをイメージしてるようだな
555デフォルトの名無しさん:2014/05/28(水) 21:47:20.36 ID:PcnkzAVj
もう面倒だし>>545で終了でいいじゃん……
556デフォルトの名無しさん:2014/05/28(水) 21:48:27.71 ID:uT/cI3NV
>>549
昔のCはCの次がOSだったので、CとOSで協調しながらwindowsコードを
作ったんじゃないでしょうか?
つまり昔のCは間に何も挟まないC,今はOSを挟むCって事じゃないですか?
557デフォルトの名無しさん:2014/05/28(水) 21:51:05.02 ID:cE7yyxsV
Windowsの場合
コンパイルしたら、拡張子が
.o
.obj
のファイルができる。

リンクしたら、拡張子が.exeのファイルができる。
もうコンパイラがなくてもこれをそのまま実行できる。

ふつうのテキストエディタでは、.exeを編集できない
558デフォルトの名無しさん:2014/05/28(水) 21:52:47.09 ID:2k7Pa4p2
お前ら、たまにはCの話もしろよ…
559デフォルトの名無しさん:2014/05/28(水) 21:53:58.65 ID:C/wNImYi
>>556
完全に違う
560デフォルトの名無しさん:2014/05/28(水) 21:55:15.03 ID:X+vVfPVs
OSは普通バイナリー(マシン語)です。
Cなどのコンパイル言語も(対象ハードの)マシン語のオブジェクトファイルに変換します。
アプリケーションはコンパイルされたオブジェクトファイルと実行環境に合わせたライブラリをリンクさせて生成(exe化)されます。

OSが提供する機能はアプリケーション実行時にアプリケーションが呼び出します。
561デフォルトの名無しさん:2014/05/28(水) 21:58:30.90 ID:uT/cI3NV
え???
やっぱ分かりませんw
CはOSに変換されるけど、OSはCで作られたんですか?
混乱するww

OSは機械語を組み合わせて作ったんじゃないんですか?
562デフォルトの名無しさん:2014/05/28(水) 21:59:47.88 ID:jgJmJNUO
もう飽きたから
はよ釣り宣言しとけ
563デフォルトの名無しさん:2014/05/28(水) 22:01:53.10 ID:X+vVfPVs
>CはOSに変換されるけど
これが間違い。
Cはマシン語に変換されるだけでそれがOSになるかアプリケーションになるかは
その後の処理しだい。
564デフォルトの名無しさん:2014/05/28(水) 22:02:43.75 ID:uT/cI3NV
>>562
釣りじゃないです、プログラミングはできますが
言語が内部でどうなってるか考えた事もないので…
文法本に内部の事ってあんまり書いてませんし
配列はスタックとか、動的配列はヒープとかその程度しか内部事情は知りません
565デフォルトの名無しさん:2014/05/28(水) 22:03:06.15 ID:C/wNImYi
>>561
Cを変換(コンパイル)すると機械語になる
OSも、おまえの書いた糞コードも機械語
あとはそれらの連携
566デフォルトの名無しさん:2014/05/28(水) 22:05:34.18 ID:uT/cI3NV
>>563
printf()関数はwindowsコードに変換されないんですか?
printf()という目的を達成するために何百種類ものwin32api関数が
生成されるんじゃないんですか?
567デフォルトの名無しさん:2014/05/28(水) 22:10:19.11 ID:ABFwbD7m
AdvancedWindowsでも買って読めば? (投げやり
568デフォルトの名無しさん:2014/05/28(水) 22:10:56.15 ID:MW8tevt3
"windowsコードに変換"という変な概念とか、
"関数を生成する"という変な概念を捨てろ。

printf()はライブラリに入っている関数で、
お前の糞コードにリンクされている。

お前の糞コードがprintf()を呼び出したら、
printf()はwindowsのサービスを(やや特殊な形式で)"呼び出す"。
windowsは既に存在しているプログラムで、
呼ばれたらそれに応じた仕事をする。
569デフォルトの名無しさん:2014/05/28(水) 22:11:54.43 ID:uT/cI3NV
呼び出される事をコードに変換されるって思ってる人もいるし
解釈の違いじゃないでしょうか?

windows関数が呼び出される=Cがそのコードになるっていう解釈なんですが

windowコードがCを機械語にするために仲介してることは間違いないんでしょう?
570デフォルトの名無しさん:2014/05/28(水) 22:13:15.74 ID:PcnkzAVj
>>561
 まず機械語(アセンブラ言語)と高級言語の違いは分かる?
 今日日OSを全部アセンブラで書けるわけがない(現実的ではない)から、必要最低限を
除いた部分を高級言語(C言語等)で記述してコンパイル→リンク→実行ファイルとして使うわけ
 毎度毎度決まりきった処理(画面描画など定型的なもの)を書くのは負担が大きすぎる
から、通常OSや他アプリによって提供されるライブラリやAPIを使ってアプリケーションを
開発する。コンパイルする際にアセンブラコードを吐いてからそれをテキストエディタ等で
読めば分かるけど、OSの機能とかをアセンブラ中で呼び出すことが度々あるのに気づくはず

 さて、printf関数などは、C言語の仕様で決められた標準関数。「実装がどうあれ、
こういった機能を実現できるようにしてくださいよ」ってことで決められたものだ。で、
それを実現するためにWindowsならWin32APIとかそれより下のサービスとかを叩いて
機能を実現させてるわけ。「windowsコード」なんて謎の概念があるわけじゃないの。
全ての始まりは機械語(アセンブラ)。
571デフォルトの名無しさん:2014/05/28(水) 22:14:26.89 ID:uT/cI3NV
つまり

(Cコード+windowコード)=ソフト←やり取り→(標準スタンバイされたwindowコード)=OS

こんな感じですか?間違ってます?
572デフォルトの名無しさん:2014/05/28(水) 22:16:52.16 ID:PcnkzAVj
>>569
念の為にもう一度。C言語で書いたコードをコンパイラからコンパイルすると、
そのコードが直接機械語として翻訳される。で、その際にWindowsの機能を呼び出す
ための命令がちょくちょく挟まるけど、その「呼び出すための命令」も機械語。
どこから聞いたのか知らないが、「windowコード」なんて言葉は忘れることを強く勧める
573デフォルトの名無しさん:2014/05/28(水) 22:19:52.06 ID:uT/cI3NV
>>570
機械語はハードのNANDの1と0のスイッチの切り替えの組み合わせですか?

「printfは実装がどうであれ、こういった機能を実現」
    ↑
非常に分かりやすくて本にも載ってない説明です、ありがとうございます。
これは分かります。もっと言えば、用意された端末に表示するというのも
加わりますよね?

自分はwin32apiとかwindowが提供するコード全般をwindowsコードって呼んでます。
すいません。
574デフォルトの名無しさん:2014/05/28(水) 22:20:12.23 ID:rQtQSaLu
windowコードなんて概念は存在しない。
575デフォルトの名無しさん:2014/05/28(水) 22:22:11.91 ID:j2BxTAy4
お前ら病人の相手して人生を浪費しないでください。
チョンや馬鹿の相手をしても何も得られません。
576デフォルトの名無しさん:2014/05/28(水) 22:23:07.18 ID:uT/cI3NV
>>547
概念じゃなくてwindowというOSが提供してるから単にwindowsコードって
読んでるだけです、windowsのCD-ROMに刻まれた1と0のくぼみの組み合わせを
windowsコードって呼んでます…
577デフォルトの名無しさん:2014/05/28(水) 22:24:06.96 ID:rQtQSaLu
ここまでwindowsにこだわっておきながら

>542 名前:デフォルトの名無しさん[sage] 投稿日:2014/05/28(水) 21:09:02.01 ID:uT/cI3NV [10/20]
>>>539
>え??macやunixは?
なんて投稿があったのを思い出すと怒りしかわいて来ない。
578デフォルトの名無しさん:2014/05/28(水) 22:24:15.38 ID:YEAQ3RMD
自分語使って話すな
579デフォルトの名無しさん:2014/05/28(水) 22:25:03.37 ID:PcnkzAVj
>>573
>機械語はハードのNANDの1と0のスイッチの切り替え
どのレベル(段階)での意味か分からんが違うと思われ
CPUの仕組みとか言い出したら本格的にスレ違いかと
>自分はwin32apiとかwindowが提供するコード全般をwindowsコードって呼んでます。
!?
580デフォルトの名無しさん:2014/05/28(水) 22:25:43.72 ID:rQtQSaLu
世界中でID:uT/cI3NVしか使わない単語 > windowsコード
二度と使うな! NGワード行きだ。
581デフォルトの名無しさん:2014/05/28(水) 22:28:30.48 ID:z4JSSBB1
 
 マイコンキット買ってきて、組み立ててみるところからやり直せ
582デフォルトの名無しさん:2014/05/28(水) 22:28:37.60 ID:j2BxTAy4
そいつは自分の持ってる語彙かき集めて、
必死で話繕ってるだけだから相手するだけムダだよ。
釣りに見えてその実ガチだから可愛そうではあるが。
583デフォルトの名無しさん:2014/05/28(水) 22:29:40.00 ID:uT/cI3NV
>>582
断片的な知識だけが多すぎて纏まらない
例えばカーネルっていう言葉も言葉だけは知ってるみたいな
OSの最下位プログラムみたいな認識ですけど
584デフォルトの名無しさん:2014/05/28(水) 22:30:54.08 ID:uT/cI3NV
printf(標準ライブラリ)→windows()........(win32api)→device()......(ミドルウェア)→pop() push() add()→(アセンブラ)
2b4a6c.....(16進機械語)→101010101010101100110100110101(機械語)

このイメージが間違ってると言われたらさすがにショックは感じざる負えないです
これだけは自信を持って信じてました
585デフォルトの名無しさん:2014/05/28(水) 22:31:37.32 ID:KOASUGaT
こういうやつもコミュ障にはいるのかな?
586デフォルトの名無しさん:2014/05/28(水) 22:32:11.21 ID:jgJmJNUO
>>564
この手の本を読めよ
似たようなタイトルの本ならなんでもいいから下記3ジャンルの本をよ


コンパイラの仕組み (情報科学こんせぷつ) 渡辺 坦
固定リンク: http://www.amazon.co.jp/dp/4254127081

オぺレーティングシステム (IT Text) 野口 健一郎
固定リンク: http://www.amazon.co.jp/dp/4274132501

コンピュータアーキテクチャ(改訂3?版) 馬場 敬信
固定リンク: http://www.amazon.co.jp/dp/4274211320
587デフォルトの名無しさん:2014/05/28(水) 22:35:02.23 ID:uT/cI3NV
>>586
ありがとうございます
588デフォルトの名無しさん:2014/05/28(水) 22:35:32.19 ID:YEAQ3RMD
>>583
だったら言葉理解するところから始めなよ
わからないまま語ってるからわけわからんのだよ
そういうのって知識って言わんよ
589デフォルトの名無しさん:2014/05/28(水) 22:36:01.55 ID:KOASUGaT
ついでにこれも

プログラムはなぜ動くのか
ttp://www.amazon.co.jp/dp/4822283151/
590デフォルトの名無しさん:2014/05/28(水) 22:39:36.26 ID:j2BxTAy4
>>588
そいつは人より頭が悪いんだろうな。
ちょっとずつ間違って覚えちゃうんだろう。
まあそういう奴いるし、可愛そうだが仕方ない。
理解が遅いから覚えるのも大変なんだろうよ。
591デフォルトの名無しさん:2014/05/28(水) 22:40:52.90 ID:mNJNNmC2
>自分はwin32apiとかwindowが提供するコード全般をwindowsコードって呼んでます。

頼むから自分用語を使うのだけは止めてくれ。話がわけわかんなくなってしまうんで
592デフォルトの名無しさん:2014/05/28(水) 22:41:09.30 ID:uT/cI3NV
>>588
合ってることと合ってない事を区別して指摘してくれたら嬉しい
俺の言ってる事全部間違いですか?
593デフォルトの名無しさん:2014/05/28(水) 22:41:43.44 ID:uT/cI3NV
>>591
ごめんなさい「windowが提供するコード全般」って呼ぶことにします
594デフォルトの名無しさん:2014/05/28(水) 22:41:50.14 ID:jgJmJNUO
間違って覚えてるか
以前テレビで月の満ち欠けを理解してない理科教師だかの話とかあったな
色々な形の月がそれぞれ地球の周りをまわってるみたいな
595デフォルトの名無しさん:2014/05/28(水) 22:42:29.89 ID:j2BxTAy4
>>592
それを人に平気で頼むところが一番腐ってるよお前は。
相手に負担を強いて平気なところ。
596デフォルトの名無しさん:2014/05/28(水) 22:43:58.70 ID:jgJmJNUO
自分のために時間や労力を割いてくれた人に感謝する気持ちは大事だよね
597デフォルトの名無しさん:2014/05/28(水) 22:45:10.24 ID:uT/cI3NV
ハードは1と0の組み合わせという事が分かってるから最初ハードを好きに弄る
弄り方を纏めたり、規則性をつける→機械語の出来上がり

コンピュータの基本ってこれじゃないですか?
598デフォルトの名無しさん:2014/05/28(水) 22:45:39.42 ID:R9mHAQQ7
じゃ、俺に女紹介してくれ
感謝するで
599デフォルトの名無しさん:2014/05/28(水) 22:45:51.81 ID:uT/cI3NV
>>596
感謝してます

>>588
ありがとうございます
600デフォルトの名無しさん:2014/05/28(水) 22:47:18.43 ID:jgJmJNUO
>>597
今すぐブックオフにでも行って立ち読みでもしてこいや
おまえは本を読んで勉強してからレスしろ
とんちんかんな考え披露はやめれ
601デフォルトの名無しさん:2014/05/28(水) 22:47:22.28 ID:YEAQ3RMD
>>592
根拠おさえるということをすすめるわ
あとスレチだからな
602デフォルトの名無しさん:2014/05/28(水) 22:48:23.09 ID:R9mHAQQ7
俺の経験は、この種の人は精神病
マジで
603デフォルトの名無しさん:2014/05/28(水) 22:48:35.43 ID:ABFwbD7m
その調子で、質問攻めで答えてくれるような場所があるかわからんけど

C言語から遠ざかってるんで余所でやってくれないかな?
604デフォルトの名無しさん:2014/05/28(水) 22:49:18.99 ID:anCLy2f2
だれだID:uT/cI3NVをかまったやつは?
605デフォルトの名無しさん:2014/05/28(水) 22:49:26.25 ID:KOASUGaT
もう寝ろ。
606デフォルトの名無しさん:2014/05/28(水) 22:50:34.01 ID:j2BxTAy4
最近この板、こいつが荒らしまわってないか?
ずーっとトンチンカンなんだよ。
借り物の言葉でフワフワ。
とにかく徹頭徹尾トンチンカンなんだよ。
いろんなスレで出没してない?
607デフォルトの名無しさん:2014/05/28(水) 22:51:05.76 ID:uT/cI3NV
>>602
元々統合失調症っぽくて言葉の使い方が分からなくなります
608デフォルトの名無しさん:2014/05/28(水) 22:52:32.25 ID:uT/cI3NV
>>606
違いますよ、C以外の言語余りできないですし、次にできるjavaだけど
javaスレは過疎ってるから書き込みしません。

トンチンカン、借り物の言葉、これは認めます。
609デフォルトの名無しさん:2014/05/28(水) 22:58:08.42 ID:uT/cI3NV
unixはCGIだから言語はスクリプト言語ですね
pipeとかcat,whichとかhistoryですよね?

windowsが生まれる前にunixでC言語のプログラミングってどうやって
やってたんだろう?
610デフォルトの名無しさん:2014/05/28(水) 23:01:39.97 ID:jgJmJNUO
ここはおまえの脳内を垂れ流すスレじゃないんですが
611デフォルトの名無しさん:2014/05/28(水) 23:05:45.05 ID:uT/cI3NV
すいません、自重します。
とりあえずwindowが提供するコード全般が仲介しまくってることだけは
分かりました、有難う感謝してます。
612デフォルトの名無しさん:2014/05/28(水) 23:05:47.40 ID:J125jWS8
>609
ggrks
613デフォルトの名無しさん:2014/05/28(水) 23:06:23.38 ID:J125jWS8
>611
二度と顔出すな!
614デフォルトの名無しさん:2014/05/28(水) 23:15:54.93 ID:mspF09G9
>>584
間違ってはいるがまるっきり出鱈目というほどじゃない
一つに繋げてしまうから訳わからなくなってるだけで
615デフォルトの名無しさん:2014/05/28(水) 23:17:37.11 ID:ASlM1xvm
>>614
甘やかすな
それぞれの実体がさっぱりわかってないんだぞ
616デフォルトの名無しさん:2014/05/28(水) 23:17:54.53 ID:uT/cI3NV
>>613
それは無理、ここは頼れます
617デフォルトの名無しさん:2014/05/28(水) 23:23:06.30 ID:uT/cI3NV
まとめたものをさらにまとめる、それをまとめる→高級言語の完成

これが言語のプロセスで俺の中のイメージです
618デフォルトの名無しさん:2014/05/28(水) 23:32:40.31 ID:mNJNNmC2
>>609
>unixはCGIだから言語はスクリプト言語ですね

unixはスクリプトで出来上がっていると考えてます?
619デフォルトの名無しさん:2014/05/28(水) 23:37:56.80 ID:uT/cI3NV
>>618
catとかpipe,historyとか今でいう高級言語みたいな感じですか?
unixはunixなりにwindowが提供するコード全般に相当するものが
あったんでしょう
620デフォルトの名無しさん:2014/05/28(水) 23:41:02.79 ID:jgJmJNUO
C言語に関係ない話題を延々と続ける連中
621デフォルトの名無しさん:2014/05/28(水) 23:44:39.33 ID:uT/cI3NV
windowsも色々な言語を扱える裏で、windows32api,windowsカーネルなどの
「windowが提供するコード全般」が連絡を取り合って処理を行っていたから。

unixも同じってことですよね?
622デフォルトの名無しさん:2014/05/28(水) 23:48:37.59 ID:jgJmJNUO
自重するといいなが未だにこのスレに居付き全く悪びれる風もなくレスを続ける
流行りのファッションサイコパスというやつか
623デフォルトの名無しさん:2014/05/28(水) 23:54:40.00 ID:r6RWITw2
なんか罪の意識を感じずにはいられない。
624デフォルトの名無しさん:2014/05/29(木) 00:02:49.29 ID:uNe9k2ch
すいませんこの話は自己完結という事で…
625デフォルトの名無しさん:2014/05/29(木) 00:08:03.95 ID:vA2c6Hl+
>>594
理科教師でそれはかなりヤヴァいのでは……
>>609
>unixはCGI
C言語「」
626デフォルトの名無しさん:2014/05/29(木) 00:16:55.25 ID:Kg1bZGF5
594 名前:デフォルトの名無しさん[sage] 投稿日:2014/05/28(水) 22:41:50.14 ID:jgJmJNUO
間違って覚えてるか
以前テレビで月の満ち欠けを理解してない理科教師だかの話とかあったな
色々な形の月がそれぞれ地球の周りをまわってるみたいな

610 名前:デフォルトの名無しさん[sage] 投稿日:2014/05/28(水) 23:01:39.97 ID:jgJmJNUO
ここはおまえの脳内を垂れ流すスレじゃないんですが
627デフォルトの名無しさん:2014/05/29(木) 00:30:23.07 ID:VM5G2GUb
今度はID:vA2c6Hl+かい?
628デフォルトの名無しさん:2014/05/29(木) 00:44:23.99 ID:Kg1bZGF5
一連の流れを追わない奴らが次々と釣られる
629デフォルトの名無しさん:2014/05/29(木) 00:50:17.82 ID:fX5JoJnK
>>628
なぜかラップ調で再生された
630デフォルトの名無しさん:2014/05/29(木) 00:53:15.32 ID:1+PX4fUT
>>594は暗にこのスレの連中の発言も正しい事を言っているかは疑問だと言っているのでは?
631デフォルトの名無しさん:2014/05/29(木) 01:04:27.62 ID:bLCAImAr
>>625
これのことか?

「月は8つある」と思っている人が教師になっている
http://d.hatena.ne.jp/toronei/20090803/B
632デフォルトの名無しさん:2014/05/29(木) 01:50:58.42 ID:/G0dYxTO
ここはC言語のスレ
633デフォルトの名無しさん:2014/05/29(木) 02:33:11.23 ID:yg8neWnh
puts("C言語で雑談すれば問題ないのでは");
634デフォルトの名無しさん:2014/05/29(木) 02:34:37.07 ID:vA2c6Hl+
printf("流れ的にはprintfの方が良さげな気がする\n");
635デフォルトの名無しさん:2014/05/29(木) 02:43:23.12 ID:87hQa66j
windows("こんな関数使っていい?\n");
636デフォルトの名無しさん:2014/05/29(木) 03:03:27.25 ID:vA2c6Hl+
>>635
一瞬「え、そんな関数あるの?」ってググっちまったじゃないか……
窓関数(フーリエ変換)やWindow関数(SQL)ならあるんだけどね
637デフォルトの名無しさん:2014/05/29(木) 07:23:23.27 ID:zxPZVq+7
printf()ってすごいね
638デフォルトの名無しさん:2014/05/29(木) 07:53:26.87 ID:uZHHlmvY
前にディスプレイのOSが云々って質問したやつと同一人物かね?
639デフォルトの名無しさん:2014/05/29(木) 10:23:28.41 ID:bNL2V7UE
>>606
専門板じゃないが
俺の見てるプログラミング系のスレにも日本語がおかしいのが湧いてるわ
640デフォルトの名無しさん:2014/05/29(木) 22:11:00.96 ID:jVNi8UA/
unixはCGIだから(笑)
CGIを使えるのはunixだけ!(笑)
641デフォルトの名無しさん:2014/05/30(金) 03:45:28.45 ID:TFWWdA/m
>>639
クソは書き込まなくてよし
642デフォルトの名無しさん:2014/05/31(土) 21:05:27.29 ID:AWUG5WKm
64bitマシンか判定する方法ってsizeof(intptr_t) == 8とかでok?
643デフォルトの名無しさん:2014/05/31(土) 21:34:31.97 ID:Y+xNHvac
>>642
それexeファイル作成時に確定しちゃうんじゃ……
(32bitなexeファイルだとsizeof(intptr_t)が当然4になる)
644デフォルトの名無しさん:2014/05/31(土) 21:37:28.27 ID:S66lgqUj
64bitマシン上で32bit用アプリ動かすと仮想的な32bitマシン環境上で走らされるんじゃないの?判定する意味ないんじゃ
645デフォルトの名無しさん:2014/05/31(土) 21:54:41.78 ID:wiKxQWEq
Cはほぼコンパイルされるんでシステムのビットワイズには条件コンパイルで対応すれば
いいんじゃないかしら?
646デフォルトの名無しさん:2014/05/31(土) 21:58:01.77 ID:AWUG5WKm
>>644
その場合ってポインタのサイズは32ビットになるの?
ポインタのサイズが32なら32ビット判定で良いんだが
ポータブルなマクロとかありそうだが多過ぎてよくわからん
647デフォルトの名無しさん:2014/05/31(土) 22:20:35.50 ID:2Tr9fndh
32bit分の入れ物しか用意してないんだから当然。
マクロはコンパイル時に解釈されるもんだから実行時のことは知らない。
648デフォルトの名無しさん:2014/05/31(土) 22:21:46.85 ID:Epy9rHM/
WOWで調べろ
649デフォルトの名無しさん:2014/05/31(土) 23:40:11.97 ID:fBD4N9aM
アセンブラレベルで調べるしかないだろうけど
UNIX系だと判断不能じゃないかな?
OS別ならシステム情報取得のライブラリとかないかな。
650デフォルトの名無しさん:2014/06/01(日) 01:10:25.36 ID:MxSjB8Q5
>>642
64bitマシンだけでは通じない。

実行しているCPUが64bitCPUかどうか判定したのか、
実行環境が64ビット実行形式をサポートしていることを判定したいのか、
自分自身が64ビット実行形式でコンパイルされたのかを知りたいのか、
また64ビット実行形式も一種類ではないし、アーキテクチャ(x64とかia64とか)も複数あるし
OSによるし、CPUによるし、仮想OSもあるし、何を知りたいのかを定義しないと
誰も答えられない
651デフォルトの名無しさん:2014/06/01(日) 02:21:31.66 ID:kbjdxhFm
OS次第で実行環境を返すAPIぐらいあるんじゃないの。
CPUのbit数なんてのはCの仕様範囲外だから何かしら
言語仕様以外の方法を使うしかないだろうね。
652デフォルトの名無しさん:2014/06/01(日) 23:27:29.17 ID:rNEgeMw6
こういう言い方すればよかったな
ポインタのサイズが64ビットか32ビットかを知りたい
マシンアーキテクチャやOSはどうでもよい
これならどう?
653デフォルトの名無しさん:2014/06/01(日) 23:32:13.77 ID:kbjdxhFm
それならsizeof()で可能でしょ。
654デフォルトの名無しさん:2014/06/01(日) 23:36:09.53 ID:WpuaGpd9
コンパイル段階でポインタサイズは決定されるだろ。
配布はソース、インストール時にコンパイルってのを想定してるの?
655デフォルトの名無しさん:2014/06/01(日) 23:46:23.89 ID:7S+uArMt
sizeof(void *)でよくね?
656デフォルトの名無しさん:2014/06/01(日) 23:54:17.10 ID:7S+uArMt
事前定義済みマクロってので調べることも出来るらしい。
657デフォルトの名無しさん:2014/06/01(日) 23:54:59.14 ID:GWmygECe
>>654
autoconfのconfigureの時に決めたい訳
658デフォルトの名無しさん:2014/06/01(日) 23:56:22.70 ID:xRAJ7xDZ
実行環境関係なくポインタのサイズだけ知って何に使うつもりなんだろうか。
659デフォルトの名無しさん:2014/06/02(月) 00:00:07.32 ID:iNq6h49s
>インスト時にコンパイル
午後でこーだを思い出した
660デフォルトの名無しさん:2014/06/02(月) 00:57:25.07 ID:zBJnJbic
>>659
あれほんとうにコンパイルしてたの?インストーラにコンパイラ載っけてたの?としたら何?mingw?
なんだか信じがたかったし今でも信じていないなあ、そうそうこの前も再インストールしたっけ‥‥
661デフォルトの名無しさん:2014/06/02(月) 11:22:47.81 ID:xp7tx+tU
とりあえずC言語スレの範囲外ってことで。
662デフォルトの名無しさん:2014/06/09(月) 11:22:07.20 ID:sibuC2fs
配列の初期化の時に
A[0~255]=0 ; みたいに一気に0から255までの配列に入る値を決めることって出来ますか? for文はなしで。
663デフォルトの名無しさん:2014/06/09(月) 11:35:10.65 ID:05afsbmO
全 0 で初期化するなら
int A[256] = { 0, }; /* 省略されている部分は 0 扱いになっている */
664デフォルトの名無しさん:2014/06/09(月) 12:25:32.98 ID:M8Wl6BC9
665デフォルトの名無しさん:2014/06/09(月) 12:34:34.44 ID:7OlN8rvc
int a[100]={0};
とか書くと残りの要素も0になる…と思う。
666デフォルトの名無しさん:2014/06/09(月) 12:43:51.46 ID:yIsFdClQ
つ memset()
667デフォルトの名無しさん:2014/06/09(月) 13:01:38.44 ID:r3iX82eS
int a[256]={};でコンパイラがmemsetを呼ぶコードを生成することもあるね
sparcのgccがそうだった。x86はrepで初期化するコードだろうけど
668デフォルトの名無しさん:2014/06/09(月) 13:35:01.67 ID:tfrcrV/a
callocでも
669デフォルトの名無しさん:2014/06/11(水) 18:30:46.81 ID:OXJX+SqI
1桁の整数をchar型の配列に1つずつ入れたいんだけどどうすればいいですかね
670デフォルトの名無しさん:2014/06/11(水) 18:43:03.83 ID:84WXT5GV
ん? 2ケタ以上の整数を各ケタに分けて配列に1ケタずつ入れるんじゃなくて?
671デフォルトの名無しさん:2014/06/11(水) 18:44:21.43 ID:fhjMguYP
int a = 10;
char c = (char)a;
672デフォルトの名無しさん:2014/06/11(水) 18:44:42.77 ID:TzKy3FGA
char c[ ] = "\000\001.....";
673デフォルトの名無しさん:2014/06/11(水) 18:44:53.16 ID:5KWw7cXR
>>669
char array[SOME_LENGTH];
があったとして、例えばこういうこと?
array[0] = 0;
array[1] = 1;
それとも、こういうこと?
array[0] = 0 + '0';
array[1] = 1 + '0';
674デフォルトの名無しさん:2014/06/11(水) 18:45:00.51 ID:gc0u05WB
char c[ ] = "\000\001.....";
675デフォルトの名無しさん:2014/06/11(水) 19:14:22.40 ID:OXJX+SqI
具体的にいうと整数を2進数の文字列に変換したかったんです
>>673
最初は>>671みたいなやり方でやってたんですがうまくいきませんでした
先ほど後者の通りに入力したらしっかりと出力までできました!
Cから随分と離れてたんでchar型の細かいルールは忘れてしまったんですが、'0'は数値として足されて足し合わせたものがchar型として代入されるってことですかね
676デフォルトの名無しさん:2014/06/11(水) 19:21:29.85 ID:HfnqJ7tw
'0'は0という文字の文字コード。
数字は文字コードが連続してるので足し算するとうまいこと数値が文字になる
677デフォルトの名無しさん:2014/06/11(水) 19:32:28.19 ID:OXJX+SqI
なるほど、助かりました
678デフォルトの名無しさん:2014/06/11(水) 19:54:44.89 ID:5KWw7cXR
念の為に補足しておくと、文字コード表を見て'0'から'9'まで並んでなかったら使えないので注意。
まぁ、AsciiだろうとEBCDICだろうと数字文字は並んでいるけど。
679デフォルトの名無しさん:2014/06/11(水) 20:01:58.71 ID:/LGtyonW
>>678
数字は確実に並んでいるよ。
680デフォルトの名無しさん:2014/06/11(水) 20:16:35.77 ID:HfnqJ7tw
仕様で並んでない可能性があるのはアルファベット
681デフォルトの名無しさん:2014/06/11(水) 21:07:35.75 ID:PvW5FlCY
0が最後にある文字コードとかは存在せんのかな
682デフォルトの名無しさん:2014/06/11(水) 21:17:01.25 ID:hb+11Efs
>>681
Cでは0から連続してることが保証されてる
683デフォルトの名無しさん:2014/06/11(水) 21:17:46.93 ID:jYCKOqON
つまり。0x20,0x30,0x40,x050,x60,0x70の文字コードを認めいない宗派なのですか?
684デフォルトの名無しさん:2014/06/11(水) 21:28:19.61 ID:QETPSrry
漢数字も連続で並んでないよ!
685デフォルトの名無しさん:2014/06/11(水) 22:11:47.07 ID:eUb0iqX/
         _人人人人人人人人人人人人人人人_
        >   そうなんだ、すごいね!      <
       ´ ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
            __、、=--、、         __
           /    ・ ゙!       /・   `ヽ
           | ・   __,ノ       (_    ・ |
           ヽ、 (三,、,         _)    /
            /ー-=-i''       (____,,,.ノ
            |__,,/          |__ゝ
             〉  )          (  )
686デフォルトの名無しさん:2014/06/11(水) 23:28:33.43 ID:l+9KcYK6
逆に考えたらいい
何でもいいから順に並んでいるものを数字として採用すればいい

最初は戸惑うかもだが
しばらく使ってればすぐ慣れるよ
687デフォルトの名無しさん:2014/06/12(木) 02:52:41.32 ID:0fE6ecZu
"0123456789"を入れたchar配列に添字でアクセスすれば流石に大丈夫じゃね?
漢数字なら、1文字辺りのバイト数を掛けて添字で。
688デフォルトの名無しさん:2014/06/12(木) 05:04:04.95 ID:19dxnqrT
1文字辺りのバイト数が固定だと誰が決めた?
そういう石橋の叩き方をするなら
char *kan[]={"〇","一","二","三","四","五","六","七","八","九"};
とかにしておかないと。
689デフォルトの名無しさん:2014/06/12(木) 09:47:00.24 ID:WI4ByIM2
漢字はグラフィックであって文字ではない
690デフォルトの名無しさん:2014/06/12(木) 10:08:37.58 ID:i9nX8euo
するどい意見をありがとう
691デフォルトの名無しさん:2014/06/12(木) 11:50:41.40 ID:UKEKtPhH
>>688
十とか百、千、万も加えたいなw
692デフォルトの名無しさん:2014/06/12(木) 22:18:52.40 ID:9nauQpX3
>>687-688
16進数や曜日、英語の月名でも使うよね。
693デフォルトの名無しさん:2014/06/12(木) 23:59:40.19 ID:0fE6ecZu
>>688
おお、指摘ありがとう
そこまですりゃまず問題なかろうな
694デフォルトの名無しさん:2014/06/13(金) 14:56:53.96 ID:fbb25G1T
#include <stdio.h>

int main (void)

{
int no;

printf("整数を入力してください:”);
scanf("%d",&no);

no = 5 * no;

printf("その数の5倍は%dです。\n" , no);

return 0;

}

これの修正どころどこだい
695デフォルトの名無しさん:2014/06/13(金) 15:27:42.14 ID:wW8ozHJ8
fflush(stdout);を入れる
696デフォルトの名無しさん:2014/06/13(金) 15:48:34.93 ID:YStt/tH1
ちげーよ
全角のダブルクオートとか使うなと
697デフォルトの名無しさん:2014/06/13(金) 15:50:04.45 ID:YStt/tH1
ついでに括弧もな
698デフォルトの名無しさん:2014/06/13(金) 15:52:21.74 ID:0JUM4RsI
別に要らんがな。
699デフォルトの名無しさん:2014/06/13(金) 16:33:28.32 ID:EdGTog4t
#include <stdio.h>

int main()
{
  int no;
  unsigned char buf[128];

  printf("整数を入力してください:");
  buf[0]='\0';
  fgets(buf,128,stdin);
  sscanf(buf,"%d",&no);

  no = 5 * no;

  printf("その数の5倍は%dです。\n",no);

  return 0;
}
700デフォルトの名無しさん:2014/06/13(金) 17:12:36.60 ID:fbb25G1T
親切にありがとう
修正後実行できた
701デフォルトの名無しさん:2014/06/14(土) 06:09:41.08 ID:N0U7iM3x
違う
scanf,sscanfの戻り値を調べるように修正しろよ
702デフォルトの名無しさん:2014/06/14(土) 06:17:44.76 ID:N0U7iM3x
#include <stdio.h>

int main (void)

{
int no;

printf("整数を入力してください:”");
if(scanf("%d",&no)==1){

no = 5 * no;

printf("その数の5倍は%dです。\n" , no);
}
return 0;

}
703デフォルトの名無しさん:2014/06/14(土) 09:08:58.29 ID:gy/b9HBc
エラーメッセージくらい出せよ
704デフォルトの名無しさん:2014/06/14(土) 09:11:59.01 ID:RGY3g82H
代わりに乳頭でもいいですか?
705デフォルトの名無しさん:2014/06/16(月) 00:59:34.84 ID:BBy6/JMr
× > no = 5 * no;
○ > no *= 5;
706デフォルトの名無しさん:2014/06/16(月) 15:38:12.54 ID:15LXpyTU
それはどちらが良いというものでもない
707デフォルトの名無しさん:2014/06/16(月) 15:39:46.19 ID:lEB23VBS
最適化でどっちも同じになるだろうに。
708デフォルトの名無しさん:2014/06/16(月) 18:39:01.50 ID:eNuyf1Ao
小学校の掛け算の順序的な意味では
× no = 5 * no;
○ no = no * 5;
で、変数使い回しちゃうのもいただけない。
709デフォルトの名無しさん:2014/06/16(月) 18:39:42.13 ID:7he4xSgp
つまらん釣りだな
710デフォルトの名無しさん:2014/06/16(月) 19:19:02.63 ID:yaRJosAv
>>708
答えが最後にくるんだから、 no = 5 * no;で右から読むのが正しい
711デフォルトの名無しさん:2014/06/16(月) 20:14:16.36 ID:eNuyf1Ao
>>710
それはちょっと考えたけど割り算がなぁ…÷じゃなくて/だから違うといえば違うんだがそれ言うと×じゃなくて*だしうーん
712デフォルトの名無しさん:2014/06/16(月) 22:51:00.61 ID:DMpLIyZE
no += (no<<2);

って技術は時代遅れかのう...
713デフォルトの名無しさん:2014/06/16(月) 22:55:35.34 ID:7he4xSgp
・シフト演算にするだけのようなピーピングホール最適化は、相当トロいコンパイラでもやってくれる
・a + b * 4 を、うっかり a + b << 2 としてバグを入れてしまう危険がある
以上の理由で「やるな!」
714デフォルトの名無しさん:2014/06/17(火) 00:37:25.96 ID:zij/VPS5
ここまで
no = no + no + no + no + no;
なし
715デフォルトの名無しさん:2014/06/17(火) 16:55:49.95 ID:OBRvPqMN
すげえ否定されてる感じになるな
716デフォルトの名無しさん:2014/06/19(木) 15:34:39.83 ID:lyOzh5Qj
typedefの用途がよくわからないんですが・・・
何のために必要なんですか?
717片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0 :2014/06/19(木) 15:46:29.86 ID:4S5DOub9
>>716
typedef struct ABC ABC;でstruct ABCのstructを省略できる。
関数ポインタの型はややこしいので名前をつけたりする。
718デフォルトの名無しさん:2014/06/19(木) 15:49:30.52 ID:zL/PZdxp
ややこしさを半減する

typedef double (*fptr_t)(int);
 /* int を引数に double を返す 関数のポインタ を 1つの型として別名で呼ぶ */

fptr_t array[10];
 なんかしらんけど 10個の配列
 なんかしらんけど の正体は 「int を引数に double を返す 関数のポインタ」
719デフォルトの名無しさん:2014/06/19(木) 18:21:01.74 ID:xM9hF8zK
>>718
このとき、
型 fptr_t が宣言された、と考えていいのですかね。
720デフォルトの名無しさん:2014/06/19(木) 20:51:15.93 ID:MpV+gRiA
>>716
typedef にのご利益はあまり感じられない

>718 も普通に
http://codepad.org/xm87ZqO7
と書いてなんの惑いもない

(a + b + c)(x + y + z) を計算するのに、いちいち 「A = a + b, X = x + y とおいて」 とかやらないだろう?
宣言を頭(優先度の高い順)から素直に読めば、あるいは書けばいいだけだ
721デフォルトの名無しさん:2014/06/19(木) 21:00:51.18 ID:yKcfPy0E
何度も型名がでてきたり、宣言が別ファイルになったりするとないとわからなくなる

あと、型が変わる可能性があるときとかに互換性保つ時にもつかう
722デフォルトの名無しさん:2014/06/19(木) 21:20:08.24 ID:E5cNUetz
そこでIDEやらエディタという文明の利器がある
723デフォルトの名無しさん:2014/06/19(木) 21:23:20.43 ID:m01fN/BB
使ってみりゃどこで便利なのかわかるよ。
要は抽象化だよね。なんかいろいろあるものを一つの概念にまとめてしまう。
724デフォルトの名無しさん:2014/06/19(木) 21:24:52.04 ID:Di0jt70X
型の実装を隠したい時かな
725デフォルトの名無しさん:2014/06/20(金) 02:02:41.10 ID:ZA7ZhzvF
まあ C なら stdio.h の FILE みたいな使い方はあるな
726デフォルトの名無しさん:2014/06/20(金) 09:37:33.48 ID:dsRMr9XY
typedef enumはよくやる
727デフォルトの名無しさん:2014/06/24(火) 12:42:25.32 ID:OmvI3p+s
トゲゾーとサンダーを回避できるアイテムを常時所有しとけよ
何度でも使用可能で1度発動させたら数秒間のみ有効になるとかな
他の人のアイテム所有状況を確認する技術で差がつくようにすればいい
728デフォルトの名無しさん:2014/06/24(火) 12:43:35.95 ID:OmvI3p+s
oops
729デフォルトの名無しさん:2014/06/24(火) 21:41:34.98 ID:d/oEJT3w
C言語の開発環境って

Visual Studio(統合開発環境)

テキストエディタ+コンパイラ

があるけど、どっちがいいの?

あとVisual StudioってVisual C++と違うの?
730デフォルトの名無しさん:2014/06/24(火) 21:53:51.71 ID:99ig3M/T
Visual Studio って統合環境(←プログラマー向けのアプリケーション)で使用できる言語には、
Visual C++、Visual C#、Visual Basic、Visual FoxProとかある。

統合環境がなければ、メニューすら作れないってのがオチでは?
731デフォルトの名無しさん:2014/06/24(火) 22:11:53.62 ID:d/oEJT3w
Visual Studio って統合環境(←プログラマー向けのアプリケーション)で使用できる言語には、
Visual C++、Visual C#、Visual Basic、Visual FoxProとかある。

↑これって、プログラミング言語なの?統合開発環境の名前じゃないんだ。
732デフォルトの名無しさん:2014/06/24(火) 22:34:18.06 ID:AfD6RzLL
Visual BasicはVisualまで含めて言語だけど、Visual C++は言語はC++だし、
難しいなぁ...
733デフォルトの名無しさん:2014/06/24(火) 23:30:35.36 ID:d/oEJT3w
結局、C言語の勉強する上でベストな開発環境は何がいいの?統合開発環境じゃなくて、テキストエディタ+コンパイラで開発したほうがいいのか。それともどっちでも同じなのか。情報が色々ありすぎてわけわかんない。
734デフォルトの名無しさん:2014/06/24(火) 23:36:38.38 ID:949Uh9AG
Win上ならVisualStudioでいい
735デフォルトの名無しさん:2014/06/24(火) 23:39:47.23 ID:AMB+0gaJ
純粋にC言語やりたいならCygwinでも入れてgcc使えばいいんじゃないか
テキストエディタはお勧めしない、せめてEclipse CDTを使おう
736デフォルトの名無しさん:2014/06/25(水) 00:02:29.51 ID:fqAH/3zi
Windows環境でVSを避ける理由が分からない
737デフォルトの名無しさん:2014/06/25(水) 00:29:21.75 ID:WpWGRtCV
まずはどれでもいいからひとつ使ってみて、こんなことやりたいと言うのが見つかったら、またおいで
738デフォルトの名無しさん:2014/06/25(水) 02:23:43.01 ID:jtYcep/V
gccだけはどのOS上でも動いてるんじゃないかな
739デフォルトの名無しさん:2014/06/25(水) 07:30:20.14 ID:8pUr0YL0
>テキストエディタ+コンパイラ
ウィンドウの操作が出来る事前提
pathの概念を知ってて、かつコマンドプロンプトでの操作(ディレクトリの移動等)が
が出来ないと

>統合環境
便利なんだろうけど、環境設定ではまると統合環境の勉強してんだか
言語の勉強してんだか判らなくなってしまうことがある
740デフォルトの名無しさん:2014/06/25(水) 08:20:23.89 ID:hNZfvDcq
vimが最強でFA
741デフォルトの名無しさん:2014/06/25(水) 09:20:14.67 ID:i65JE2xX
DOS時代はテキストエディタ+コンパイラで作ってたけど、
もう統合環境のデバッガ無しじゃやっとれん。
742デフォルトの名無しさん:2014/06/25(水) 09:32:16.40 ID:4hnh7AK9
もうコードコンプリートと構文解析がないと怖くて書けないよ
743デフォルトの名無しさん:2014/06/25(水) 11:10:45.62 ID:hNZfvDcq
コードコンプリートとかまだ売れてんのか
下巻まできっちり読んでるやつそんないないんじゃねえの
今のトレンドだとリーダブルコードだろう
744デフォルトの名無しさん:2014/06/25(水) 11:53:41.10 ID:CQ02L68X
いや入力アシストの方な
745デフォルトの名無しさん:2014/06/25(水) 12:06:21.96 ID:EItPnDF/
>>735
C++とかならMinGWやCygwinでgccが有効だけど只のCならTCCも手軽で良いぞ
最適化が駄目なのとC++が使えないのとインラインアセンブラがGAS系なのは微妙だが、
入れるの楽だしコンパイル速いし出力ファイルサイズも小さいしスクリプト言語っぽく使えるのも便利

>>738
動くOSの数はトップだろうけど、どのOSでもって程かというと微妙
組み込みOSだとクロスコンパイル主流で、そのOS上では動かさない気が
746デフォルトの名無しさん:2014/06/25(水) 13:06:54.53 ID:KznGqNfn
入門書のサンプルをコンパイルしてみたいというぐらいの
ことなら codepad.org とかもあり
747デフォルトの名無しさん:2014/06/25(水) 19:10:14.54 ID:sJ/yOKiH
Borland C++ Compiler 5.5 + WIN32API で大抵のことはできるよ。無料な。
748デフォルトの名無しさん:2014/06/25(水) 21:48:11.97 ID:z2YOEiqg
あら、無料になったんだ
749デフォルトの名無しさん:2014/06/29(日) 15:27:53.10 ID:jP/1PhLn
構造体のポインタなんですけど
switch(c->type)
これは、アドレスを指しているんですか?
それとも実数の方ですか?
750デフォルトの名無しさん:2014/06/29(日) 15:56:53.70 ID:oo42qWNH
cのメンバーtypeの値
751デフォルトの名無しさん:2014/06/29(日) 17:23:53.75 ID:SAEXjcrs
ありがとうございます
752デフォルトの名無しさん:2014/06/29(日) 19:06:45.93 ID:NHgMwVfY
動かせばわかるだろうに
753デフォルトの名無しさん:2014/06/29(日) 19:08:27.69 ID:lFZ15VQI
アロー演算子でぐぐる
754デフォルトの名無しさん:2014/06/29(日) 23:42:01.15 ID:kXYJfkvL
switch( (*c).type )
と同じな。
755デフォルトの名無しさん:2014/06/30(月) 11:18:08.41 ID:zk7ZCcUw
関数の仮引数宣言で宣言した変数も関数の中だけの
自動変数なのですか?
756デフォルトの名無しさん:2014/06/30(月) 11:42:27.35 ID:ODccEViJ
パイプをpipe()を使わずに書きたいのですが、その場合プログラムの出力が入力側のプログラムに渡されるのは入力側の*argv[]ですか?
757デフォルトの名無しさん:2014/06/30(月) 11:46:17.37 ID:ODccEViJ
例として、
./ex1.c | ./ex2.c
この時、ex1の標準出力がex2に渡ると思うのですが、ex2のどの変数に出力が格納されるか知りたいです
758デフォルトの名無しさん:2014/06/30(月) 11:50:56.93 ID:ODccEViJ
連投すみません
例えばRubyでは、
# ex1..rb
puts "hello, world"
# ex2.rb
s=gets
print s
ruby ex1.rb | ruby ex2.rb
この時、標準出力にはex1から渡ってきた文字列がex2のプログラムで出力されているように見えるのです
759デフォルトの名無しさん:2014/06/30(月) 12:02:50.55 ID:lJxnkRTG
>>756-758
いいえ、標準入力です。
なので、fgets(buf, sizeof buf, stdin)と言った取り出し方が多分Rubyの例と似た結果になります。
760デフォルトの名無しさん:2014/06/30(月) 12:11:38.08 ID:ODccEViJ
>>759
ありがとうございますm(_ _)mおかげさまでよく理解出来ました。パイプについて、知識が足りませんでした。
761デフォルトの名無しさん:2014/07/04(金) 12:45:03.68 ID:vJsZP06f
Cygwinとgccのダウンロードの仕方がわかりません?詳しいやり方を教えてください。
762デフォルトの名無しさん:2014/07/04(金) 14:51:24.00 ID:Drkr2UiK
>>761
鼬害です。
cygwinのスタートアップをダウンロードして、スタートアップでgccにチェックを入れるだけだ。
それさえできないなら向いてないからやめとけ。
763デフォルトの名無しさん:2014/07/04(金) 22:06:16.60 ID:YXI4fE8h
>>762
できなかった。
764デフォルトの名無しさん:2014/07/04(金) 22:12:59.05 ID:ebNRiC3x
プログラマになるなら、わからないとかできないとかいうのをやめるべき

こういう手順でやったけど、ページが404になっていてダウンロードできません
ダウンロードしたけど、インストール時になんとかというエラーが出て止まってしまいます
みたいに、自分のやったことぐらいかけ
765デフォルトの名無しさん:2014/07/04(金) 22:33:36.21 ID:YXI4fE8h
>>764
setup.exe 64を押してダウンロードして実行したと思うんだけど、そこから先が意味不明。パッケージはgccの何を選べばいいかわからないし、パッケージのダウンロードもできてなかったと思う
766デフォルトの名無しさん:2014/07/04(金) 22:50:06.53 ID:qjT4L/WN
cygwinのインストールなんてネット見りゃやり方転がってるわ
そもそもC言語の質問じゃねーし
767デフォルトの名無しさん:2014/07/04(金) 23:21:07.39 ID:YXI4fE8h
>>766
上でC言語勉強するならCygwin落としてgcc入れればいいって書いてあったんだよ。
768デフォルトの名無しさん:2014/07/04(金) 23:34:18.75 ID:3Jp7hRob
>>767
Windowsでそのまま動くgccもあるよ
769デフォルトの名無しさん:2014/07/04(金) 23:52:11.55 ID:YXI4fE8h
>>768
何それ?
770デフォルトの名無しさん:2014/07/05(土) 00:01:43.32 ID:fW5z6BCT
インストールできた。Cygwinを立ち上げたけど自分の名前がでてきたんだけど、ユーザー名がでるのは普通なの?
771デフォルトの名無しさん:2014/07/05(土) 00:04:30.63 ID:TZT85Nja
Cygwin使っている人いますか? その21
http://peace.2ch.net/test/read.cgi/unix/1331382186/

Cygwin + MinGW + GCC 相談室 Part 7
http://peace.2ch.net/test/read.cgi/tech/1357019230/
772デフォルトの名無しさん:2014/07/05(土) 00:13:55.90 ID:lG7Vks4t
WindowsならVisualC++いれとけ
773デフォルトの名無しさん:2014/07/05(土) 00:31:46.80 ID:73ZHJ04l
774デフォルトの名無しさん:2014/07/05(土) 00:34:49.91 ID:8KImq0vY
error: expected ‘)’ before ‘*’ token

これは何が原因ででるんでしょうか?
775デフォルトの名無しさん:2014/07/05(土) 00:49:15.35 ID:7oOEkOAN
>>774
前後の内容によりけり。
776デフォルトの名無しさん:2014/07/05(土) 01:00:23.49 ID:y6F7Kq9M
セミコロン忘れとよんだ
777デフォルトの名無しさん:2014/07/05(土) 09:57:46.11 ID:gb/2NXQK
Cygwinでhelloworldが表示できない、"が間違ってるのか、記号や改行が違うのかわからない
778デフォルトの名無しさん:2014/07/05(土) 15:12:38.87 ID:st/oweyo
だから、自分がやったこととか表示されたエラーだとかも報告できないような間抜けは
PC初心者板でも逝けよ。
つーか、自分の端末にコンパイラを入れるよりもいっそideon.comでも使った方がましだろ。
779デフォルトの名無しさん:2014/07/05(土) 17:35:13.96 ID:8KImq0vY
775です

構造体で入力したのを身長の高い順に出力するプログラムをつくりたいのですが
エラー箇所がわかりません

書いたコードです
http://www.dotup.org/uploda/www.dotup.org5168947.c.html

以下のような表示にしたいです
誰か教えてください!

 番号: 1
名前: 小保方晴子
年齢: 22
身長: 180
体重: 65
出身地: 千葉
特技: コピペ

番号: 0
名前: ゆうちゃん
年齢: 20
身長: 175
体重: 70
出身地: 東京
特技: 遠隔操作
780デフォルトの名無しさん:2014/07/05(土) 17:36:04.00 ID:8KImq0vY
続きです


 番号: 4
名前: 野々村議員
年齢: 22
身長: 168
体重: 70
出身地: 大阪
特技: メルトダウン会見

番号: 3
名前: 佐村河内
年齢: 20
身長: 162
体重: 55
出身地: 広島
特技: 人狼

番号: 2
名前: ASKA
年齢: 21
身長: 160
体重: 52
出身地: 福岡
特技: キメ●ク
781デフォルトの名無しさん:2014/07/05(土) 17:37:13.19 ID:8KImq0vY
>>779
>>780

は775ではなく>>774でした
782デフォルトの名無しさん:2014/07/05(土) 17:46:07.10 ID:3J+m8Ph0
19, 26 行目 profile を Profile に
32 行目 > を < に
783デフォルトの名無しさん:2014/07/05(土) 17:57:43.06 ID:8KImq0vY
>>782
できました!

ありがとうございます<(_ _)>
784デフォルトの名無しさん:2014/07/10(木) 11:50:09.32 ID:iUfsrIHD
785デフォルトの名無しさん:2014/07/10(木) 12:14:28.45 ID:HM31btdY
お探しのページは見つかりませんでした。
786デフォルトの名無しさん:2014/07/10(木) 14:49:55.73 ID:1VHW603R
1200がデッドラインだったんじゃろ 南無…
787デフォルトの名無しさん:2014/07/13(日) 07:13:19.06 ID:miJUEW2J
以下のプログラムを cygwin上で
$ g++ -Wall program.c
$ ./a.exe
で Segmentaion faultになります…
(main() では hoge()を呼び出すだけです)

何がおかしいのでしょうか?

FILE fp
in NumberOfData

void hoge(void)
double time;
fp = fopen(filename, "r");
if(fp == NULL){
fprintf(stderr, "hoge.data is not found. Program teminated.\n");
}
fscanf(fp,"%lf",time);
printf("Time_sim: %lf\n",time);
fscanf(fp,"%d",&NumberOfData);
printf("NumberOfData: %d\n",NumberOfData);
fclose(fp);
}

以下 hoge.dataの内容
0.000000
3570
0 -0.039900 0.000100 0.000000 0.000000 0.000000 6.539697
788デフォルトの名無しさん:2014/07/13(日) 08:28:01.88 ID:RETejGWZ
そういうときはな、何行目でエラーになったかデバッガでしらべるとか
printf入れてどこまで表示されるかとかな
人に聞く前に最低限そのくらいはな
思いつくぐらいの頭がないとな
向いてないから死ねといいたくなるよね
789デフォルトの名無しさん:2014/07/13(日) 08:34:31.32 ID:0Iul1EJe
FILE *fp;とかセミコロンが無いとか括弧が無いとか
おかしいところだらけ。どうせ、手作業で書き写したときのミスで
重要じゃないと思ってるんだろうけど、そういう姿勢がよくない。
一見してあやしいのは、fscanf(fp, "%f", &time);
790デフォルトの名無しさん:2014/07/13(日) 09:56:41.07 ID:miJUEW2J
>>788,789
ありがとうございます.デバッガというもの初めて使いました.&timeにうまくいきました.
791デフォルトの名無しさん:2014/07/13(日) 20:14:31.15 ID:G9QhDNfC
fpがNULLのときに脱出してないのは只の書き写しなんだろうか。
792デフォルトの名無しさん:2014/07/16(水) 10:52:04.54 ID:nDYTEo7e
関数に渡す引数の数に上限ってあるんですか?
まぁあまりに多くなるようなら構造体や配列のようにひとまとめにしてからにした方が
良いのでしょうけど。
793デフォルトの名無しさん:2014/07/16(水) 10:59:26.83 ID:VblCYr0v
特にないよ。
但し、余り多くなるようなら、寧ろ関数のI/Fを見直すべきだ。
本当にそこで切るべきかどうかをね。
794デフォルトの名無しさん:2014/07/16(水) 11:32:19.21 ID:nDYTEo7e
>>793
了解です!
795デフォルトの名無しさん:2014/07/16(水) 11:48:05.77 ID:3tXoGCWW
スタックサイズなんかな
796デフォルトの名無しさん:2014/07/16(水) 12:53:47.95 ID:VblCYr0v
>>795
それ、仮に引き数を構造体に纏めて同じだけ消費するよね。ポインタ渡しにするなら話は別だけど。
797デフォルトの名無しさん:2014/07/16(水) 13:12:23.11 ID:d7zsm7Az
スタックに問題なくてもパーサにだって物量に制約がある場合がある。
C99では引数が127個でもコンパイルして実行できるようにしろと要求されている。
798デフォルトの名無しさん:2014/07/16(水) 13:35:01.48 ID:3tXoGCWW
上限があるか気になるなら自分で試せよ
そして結果を書き込めよ
799デフォルトの名無しさん:2014/07/16(水) 14:48:06.79 ID:b2Fwx4Ep
実はID:3tXoGCWWが一番気になっていて(ry
800デフォルトの名無しさん:2014/07/16(水) 17:20:33.06 ID:XexGWa0+
>>798
一般論あるいは仕様として上限があるかの質問なのに
特定の環境で試してみろって、このスレにいる必要ないよ
801デフォルトの名無しさん:2014/07/16(水) 17:41:23.95 ID:2op6UOhL
5.2.4.1 Translation limits
- 127 arguments in one function call
802デフォルトの名無しさん:2014/07/16(水) 22:54:19.37 ID:gc2StV5O
>>796
構造体は(環境によるけど)Pack できるけど、引数で Pack できる環境ってあるっけ?
逆に引数は一部をレジスタ渡しにしたりもするし。

要するに
> それ、仮に引き数を構造体に纏めて同じだけ消費するよね。
は、ダウト
803デフォルトの名無しさん:2014/07/17(木) 09:37:13.39 ID:+y76qgpq
それは実装上たまたまそうなっているものもあるだけ
804デフォルトの名無しさん:2014/07/17(木) 13:33:38.63 ID:Dv70qjb7
ん?
一つでもあったらダウトでしょ?
805デフォルトの名無しさん:2014/07/17(木) 17:42:17.18 ID:ITI45oJ8
どっちもダウト
806デフォルトの名無しさん:2014/07/17(木) 17:58:05.22 ID:0l31ALfX
ダウトって何だよ、はいダウトって
807デフォルトの名無しさん:2014/07/17(木) 20:14:45.43 ID:oG7QfsM9
トランプでダウトってゲームがあって、ダウトってのは嘘って意味なんだけど以下略
808デフォルトの名無しさん:2014/07/17(木) 20:36:35.61 ID:+37EBU2h
>>807

doubt『疑い』, 『疑う』
●『疑い』, 疑惑; 疑わしさ, 疑問
●を『疑う』, 疑問に思う
809デフォルトの名無しさん:2014/07/18(金) 08:12:45.08 ID:Eltj5rKA
確実に誤りレベルのことでも「ダウト」としか指摘できない程度の奴
810デフォルトの名無しさん:2014/07/18(金) 09:36:39.10 ID:5AiP+nFp
未定義だからどうでもいい
811デフォルトの名無しさん:2014/07/18(金) 11:17:43.06 ID:KnXUTMy4
ダウトの意味も知らなかった >>809 が不憫だわ w
812デフォルトの名無しさん:2014/07/18(金) 11:59:29.82 ID:rqweNMeD
>>811
807じゃなくて?
813デフォルトの名無しさん:2014/07/18(金) 12:09:50.35 ID:YVo5FHQe
807はトランプの場合の話だから以下略
814デフォルトの名無しさん:2014/07/18(金) 12:57:56.67 ID:QuIJUfIo
hide out
815デフォルトの名無しさん
間違いに対していつもダウトと言ってる奴が
擦り付けに必死w