1 :
デフォルトの名無しさん :
04/11/28 13:26:10
2 :
デフォルトの名無しさん :04/11/28 13:27:23
汚ねースレだな
4 :
デフォルトの名無しさん :04/11/28 14:23:44
だいたいぼけなことをかいてるのはVC厨なんだよな。
ヘミ猫が蓮コラ化してる・・・
6 :
デフォルトの名無しさん :04/11/28 14:24:55
へみ猫って何?
>>6 ヘ_ヘ�
ミ�・�・ ミ
�( �°�)~
↑これ
8 :
デフォルトの名無しさん :04/11/28 14:26:33
> いいかげん、組み込み至上主義は捨てろよ。 > 組み込みとそれ以外でどっちが特殊なのか考えてみろ っていうか、いまどき組み込みもgccとgdbだってば。 少なくともわたしの持ってる携帯電話はそうです。
ヘ_ヘ ミ ・ ・ ミ ( ° )~ 本来はこう。
10 :
デフォルトの名無しさん :04/11/28 14:27:38
>>7 なんか、意味不明の記号のかたまりにしかみえないんですが...
フォントのせい?
11 :
デフォルトの名無しさん :04/11/28 14:29:07
同じに見える... > 本来
>>11  (半角スペース)のデコードが手抜きされる環境なんだろうな。
á é í ó ú
お祭り記念カキコ
16 :
デフォルトの名無しさん :04/11/28 14:33:38
>>15 このスレを消費する速度より遥かに速い速度でそっちを埋めてしまえばいい
18 :
デフォルトの名無しさん :04/11/28 14:40:54
前回だれも答えてくれなかったんだけど、 i =& 10; ってできたのはいつごろのコンパイラーなんですか?
int hoge(input) int { return input * 2; } とかやってた時代
20 :
デフォルトの名無しさん :04/11/28 14:45:11
VC厨はこわがりすぎーなやつが多いなあ。
21 :
デフォルトの名無しさん :04/11/28 14:45:44
>>19 あのー、むかしのコンパイラーでもそんなのは通らないんですけど。
22 :
デフォルトの名無しさん :04/11/28 14:46:57
> むかしのコンパイラーでも コンパイラをコンパイラーと言う奴はぼけ
23 :
デフォルトの名無しさん :04/11/28 14:47:10
彼らは、ちょっとこわがると、ほかのひとがvoidに見えてくるんですよ ;-) 本物がきたらどうなることやら! 本物は最近fjでもみかけないなあ。
24 :
デフォルトの名無しさん :04/11/28 14:47:41
> コンパイラをコンパイラーと言う奴はぼけ ふつうコンパイラー
25 :
デフォルトの名無しさん :04/11/28 14:48:01
姉のほうがアセンブラ 妹がコンパイラね
26 :
デフォルトの名無しさん :04/11/28 14:48:29
> ふつうコンパイラー ということにしたいのですね? :-P 私のまわりでコンパイラーなんて言ってる人は居ませんよ
27 :
デフォルトの名無しさん :04/11/28 14:49:25
> 私のまわりでコンパイラーなんて言ってる人は居ませんよ 自分のまわりは厨ばかり、と宣言しているようなもんだ。
28 :
デフォルトの名無しさん :04/11/28 14:49:26
> 姉のほうがアセンブラ > 妹がコンパイラね 画調が気持ち悪いので読むのを途中でやめてしまいました.全裸で.
29 :
デフォルトの名無しさん :04/11/28 14:49:59
> 画調が気持ち悪いので読むのを途中でやめてしまいました もったいないのでわたしにください。
30 :
デフォルトの名無しさん :04/11/28 14:50:31
> もったいないのでわたしにください。 Winnyで入手したので本は持ってません.
31 :
デフォルトの名無しさん :04/11/28 14:51:21
indentコマンドは-gnuで使ってますか? それとも-kr? うちの会社は8割ぐらいが-kr派なんですが、 残り2割りに6通りぐらいの小さい派閥があって まとまらない。
32 :
デフォルトの名無しさん :04/11/28 14:53:01
> indentコマンドは-gnuで使ってますか? それとも-kr? うちは、コーディング規約で-krと決まっています。決めればいいだけでは?
34 :
デフォルトの名無しさん :04/11/28 14:54:27
こういう話題はVC厨はついてこれないので、 ちゃちゃいれて暴れるしかないんだろうなあ ;-)
35 :
デフォルトの名無しさん :04/11/28 14:55:15
>>32 いえ、いくつかの派閥があって、規約を決めるのが難航してるんです。
36 :
デフォルトの名無しさん :04/11/28 14:58:08
Cで、ある名前が、すでにtypedefされているかどうかを 調べる方法はありますか?
37 :
デフォルトの名無しさん :04/11/28 15:01:24
-bsdっていわゆるオールマンスタイルだよね? あれ、いやーん。(実は一時期つかってたが) でも-gnuよりはましかなあ。
38 :
デフォルトの名無しさん :04/11/28 15:12:04
便乗質問ですが... 入門者に読ませるCの本で (日本語の) -krスタイルで書いてあるものはありませんか? (K&R以外で) けっこうへんなスタイルの多いんですよ。日本のって。
39 :
デフォルトの名無しさん :04/11/28 15:19:47
Javaでは決まっているが (そもそも演算子が3種類ある) Cでは実装依存
40 :
デフォルトの名無しさん :04/11/28 15:20:34
符号なしならば論理シフト、ってのは規格で決まっているが、 逆は真ではない。
日本語のK&R本もかなり変態だが
大半のCプログラマはK&Rの訳本を貶せるほどもCを理解してないが、とりあえず 他人がダメ本だと言ってるから同調している現状。
43 :
デフォルトの名無しさん :04/11/28 15:33:14
> 日本語のK&R本もかなり変態だが えーどのへんが? コード部分は同じでしょ?
45 :
デフォルトの名無しさん :04/11/28 15:35:44
うちにある第2版同士をくらべてみましたが、 ほとんど同じです。 後ろのほうで0がOになってたり、lが1になってるところはありましたが、 ほんの数箇所です。 どこがちがうんですか?
46 :
デフォルトの名無しさん :04/11/28 15:36:26
>>45 おいおい。簡単にだまされるなよ。44はK&Rなんか読んだことないのにしったぶり
してるだけなのは一目瞭然だろ?
手元の版(2003年2月印刷)では直ってるけど、 B11. p.325 最下の4行 訳書 2555, 655355, 429496729575, 655355 正 255, 65535, 4294967295, 65535 この間違いはすげーな。石田ってCのこと何も分からずに本書いたのか?
>>35 しょせんは慣れだ。多数決でもサイコロでも何でもいいからどれかに決めろ。
そもそも派閥があるくらいなら、「よそではこっちを使ってる」なんて言って
みても、どうせ蒸し返す奴が出てきて解決にならないだろ。
50 :
デフォルトの名無しさん :04/11/28 19:08:26
ヨソはどうでもいいんですよ。 どれがより合理的かで決めたい。
51 :
デフォルトの名無しさん :04/11/28 19:10:02
やはりコード部分には誤植は少ないですよね。
とりあえず、皆しったぶりしてるだけだよな
53 :
デフォルトの名無しさん :04/11/28 19:33:19
わたしはいちおう両方もってるので
typedefの効果的な使い方がわかんねーよ
>>54 とにかく何でもかんでも typedef しとけば間違いはない。
typedef int Int;
typedef int* IntPtr;
typedef const int* ConstIntPtr;
56 :
デフォルトの名無しさん :04/11/28 22:10:11
ポインターや配列をtypedefしてしまうのはWindows厨みたいでかっこわるい
58 :
デフォルトの名無しさん :04/11/28 22:13:46
typedefを使うのは以下の2つに限定しろ。 (1) structと書くのを省略するためだけ。 typedef struct { ... ... } HOGE; (2) 同じ型でも目的に合わせて名前をつけるときだけ typedef UCODE unsigned short; // Unicode用 そうではなく、typedef BYTE unsigned char;みたいなのは むしろ使うな。
>>58 > そうではなく、typedef BYTE unsigned char;みたいなのは
> むしろ使うな。
BYTE を typedef は推奨する。これを使わないのは素人。
60 :
デフォルトの名無しさん :04/11/28 22:24:49
Javaの「byte」「char」とむしろ意味逆になるからなあ。 まあ、プロはつかわんな > typedef BYTE
61 :
デフォルトの名無しさん :04/11/28 22:25:48
BYTEとかよろこんで使うのはVC厨
C#マンセー うはwwwwwwwwwwwwwwwwww
63 :
デフォルトの名無しさん :04/11/28 22:27:16
ごまかしきれなくなったVC厨があばれてます!
65 :
デフォルトの名無しさん :04/11/28 22:29:10
> GLib の guint8 は BYTE 使うのと同じだ。 ぜんぜん意味ちがうだろ...。 その違いがわからないとは、さすがVC厨
>>66 名前のセンスが違うっていいたいんだよ・・・しょせんgnu乞食
1bit整数型ってどうやって定義すればいいんですか?
>>69 そんなの何に使うの?
struct でビットフィールド使えばできるけど、
メモリが節約できるわけじゃないよ。
71 :
デフォルトの名無しさん :04/11/28 22:44:25
bool foo; でOK
72 :
デフォルトの名無しさん :04/11/28 22:45:00
> 名前のセンスが違うっていいたいんだよ ださいVC厨が「センス」だなんて言ってます ;-)
73 :
デフォルトの名無しさん :04/11/28 22:45:34
> ここは次スレだからまずPart95を使えよ Part 95 はすでに1000超えました。
74 :
デフォルトの名無しさん :04/11/28 22:46:08
> どうちがうんだ やーい > そんなこともわからないVC厨
75 :
デフォルトの名無しさん :04/11/28 22:50:11
#include <stdio.h> #include <stdbool.h> main() { bool a, b; a = true; if (a) b = false; b++; a++; printf("%d %d\n", a, b); } // aの値に注目!
憐憫
fatal error C1083: インクルード ファイルがオープンできません。'stdbool.h': No such file or directory
78 :
デフォルトの名無しさん :04/11/28 23:05:15
やーい > VC
79 :
デフォルトの名無しさん :04/11/28 23:05:34
やはり「死に絶えた」コンパイラーだね > VC
そういう君達はどんなコンパイラを使っているんだい。
81 :
デフォルトの名無しさん :04/11/28 23:07:17
いろーんな処理系つかってるなあ。仕事でも趣味でも。合計で10種類近くか。 でも、このソース通らないコンパイラーは1つもないぞ。
82 :
デフォルトの名無しさん :04/11/28 23:08:23
やーい > 死に絶えたコンパイラーにしがみついてる厨
83 :
デフォルトの名無しさん :04/11/28 23:08:29
っっっっっっっっっるうううううううううっっっっっっbっっっっっっっっっっっっっっっっy!!!!!
84 :
デフォルトの名無しさん :04/11/28 23:09:29
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!
>>81 あやしいな。その10個のコンパイラ書き出してみて。
86 :
デフォルトの名無しさん :04/11/28 23:11:12
あやしくないだろう。 わたしも10とはいわなくても5,6種類は使い分けている。 家では使わないので、全部会社の中だが。
88 :
デフォルトの名無しさん :04/11/28 23:12:16
perlやC#の悪口いうやつはいても、rubyの悪口言うやつはあまりいないので、 それの名前をだしておけばいいと思い込んでいる「Cがわからない厨」がいるのは ここですか?
>>86 じゃあ、書き出せよ。仕事でつかってるんだから空で書けるだろ
stdbool.hなんて単なるマクロの寄せ集めじゃん。 どっかから落として来てやったらVCでもちゃんと 通るよ。
92 :
デフォルトの名無しさん :04/11/28 23:13:41
VC厨ってその程度であばれるぐらいだめなのか
94 :
デフォルトの名無しさん :04/11/28 23:14:11
> stdbool.hなんて なんて言ってる時点ですでにだめなVC厨だとばれてる。
95 :
デフォルトの名無しさん :04/11/28 23:14:29
るby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
97 :
デフォルトの名無しさん :04/11/28 23:15:33
> stdbool.hなんて単なるマクロの寄せ集めじゃん。 なわけない。 > どっかから落として来てやったらVCでもちゃんと通るよ。 こいつぼけ。 中に typedef bool _Bool; って書いてあるのに、どうやってVCで通るんだよ ぼけ ;-)
Ruby Ruby Ruby Ruby Ruby Ruby Ruby Ruby Ruby Ruby
こいつぼけRuby!!!!!!!!!!!!!!!!!!!
100 :
デフォルトの名無しさん :04/11/28 23:16:52
>
>>91 > そんなこたーわかってんだよ。
ってことでこいつも91と同じの「しったかぶりVC厨」決定。
stdbool.hをひろってきてもVCではとおりませーん (常識!)
こいつぼけとか繰り返し言ってる奴は、いろんな意味ですさんでるね。
ようするにgccしかないんだな?えっ?
103 :
デフォルトの名無しさん :04/11/28 23:18:32
>>101 とかけば、自分がボケだといわれたことをごまかせるとおもっているあたり、
かなりぼけだね。
104 :
デフォルトの名無しさん :04/11/28 23:19:03
>>102 え、gccでは通るんですか? ためしたの?
>>100 ばかだな、VC 対応のヘッダーを拾ってくるって意味だ。
揚げ足とるな。
106 :
デフォルトの名無しさん :04/11/28 23:19:37
なるほど。102はgccもさわったことないVC厨なのかー
>>104 試してなんかねーよ。それじゃ0種類だな。10種類はどこいったんだ。
オラはよ出せや
>>81 おめーもだよ。
108 :
デフォルトの名無しさん :04/11/28 23:21:32
> ばかだな、VC 対応のヘッダーを拾ってくるって意味だ だからそんなものはないっていってんだよ ぼけ。 つくりようがねーだろ。defineやtypedefでごまかしてもbool型はつくれねーよ。
>>81 は今、世界中のコンパイラを検索するのに必死です。
可哀想に。
111 :
デフォルトの名無しさん :04/11/28 23:23:46
死に絶えたVCをつかってるVC厨が、いたいところを突かれると いちいち暴れるインターネットはここですか?
>>108 そんなことは聞いてねーんだよ。まだ一種類も出てねーぞ
おまえコンパイラ使ったことねーんじゃねーの?
113 :
デフォルトの名無しさん :04/11/28 23:25:18
VCはboolも使えないのかー
>>113 .c を .cpp にすればいいだろ。
>>81 もう20分は経つぞ。おめえホントは無職だろ。明日も履歴書100通
書いて死んどけよ。じゃあな
116 :
デフォルトの名無しさん :04/11/28 23:27:12
> .c を .cpp にすればいいだろ。 boolつかうのにわざわざC++にするのか...だめすぎ。
117 :
デフォルトの名無しさん :04/11/28 23:28:35
>>116 C89でboolとか言い出す香具師は痛い
>>116 わざわざってな、拡張子変えるのがなんでわざわざなんだよ。
なんならプロジェクトの設定で .c をすべて C++ ソースとみなすことだってできるんだよ。
手間かからんだろ。
119 :
デフォルトの名無しさん :04/11/28 23:29:30
なんで「C89」なんだ? いまさら死に絶えた規格をもってくる理由は?
120 :
デフォルトの名無しさん :04/11/28 23:30:16
> わざわざってな、拡張子変えるのがなんでわざわざなんだよ。 そのダメさ加減がさすがVC厨ですね ;-)
なるほど、C99マンセーな奴なのね。
122 :
デフォルトの名無しさん :04/11/28 23:30:39
>>119 死に絶えたってそんなに思いたければ1人で勝手に叫んでたら?
123 :
デフォルトの名無しさん :04/11/28 23:31:00
> なるほど、C99 っていうか、死に絶えたVCぐらいだろ。そうでないのは
124 :
デフォルトの名無しさん :04/11/28 23:31:26
> なんならプロジェクトの設定で .c をすべて C++ ソースとみなすことだってできるんだよ。 っていうか、じゃあC++つかえよ ;-)
もといアンチVCだったか。まあ、VCなんてどうでもいいけど。
128 :
デフォルトの名無しさん :04/11/28 23:32:13
>>126 おまえがどうでもいいかどうかがどうでもいいよ
129 :
デフォルトの名無しさん :04/11/28 23:32:41
> もといアンチVCだったか。まあ、VCなんてどうでもいいけど。 こんなこといいつつ、こいつVCつかってそー VCユーザーのほとんどは包茎らしいからな。
>>128 オマエモナーってところですか、この流れだと。
131 :
デフォルトの名無しさん :04/11/28 23:33:27
>
>>119 > 死に絶えたって
そうだね。とうのむかしに死に絶えてるね。
>>129 だからおまえが使っているコンパイラを10個書けよ、っていってんだよ。
>>129 俺gcc使いの包茎wwwwwwwwwwwwwwwwwwwwwwwwwっをkkkkkkkkkkkkkkkkkkkkkkkkkk
134 :
デフォルトの名無しさん :04/11/28 23:34:18
そりゃgccユーザーにも包茎はいっぱいいる。 だからといって、VCユーザーのほとんどが包茎だという事実をごまかせるわけではない。
135 :
デフォルトの名無しさん :04/11/28 23:34:40
日本人のほとんどが包茎という事実wwwwwwwwwwww
C言語の話しようぜ、さすがに。
137 :
デフォルトの名無しさん :04/11/28 23:35:20
VCが死に絶えたとか恥も知らずに言ってるような井の中の蛙なんぞ戦力外だからな どっちかつーと、どうでもいいって思っててくれた方がカカワリアイの心配がなくてありがたい
138 :
デフォルトの名無しさん :04/11/28 23:35:41
> 日本人のほとんどが包茎という事実 統計では日本の成人男子の3割以上だと言われています。
139 :
デフォルトの名無しさん :04/11/28 23:36:07
> VCが死に絶えたとか恥も知らずに言ってるような井の中の蛙 逆だろ ;-)
140 :
デフォルトの名無しさん :04/11/28 23:36:32
まだ生きていると思っているのはVCユーザーぐらいのもんだ ;-)
141 :
デフォルトの名無しさん :04/11/28 23:36:41
>逆だろ ;-) おまえにとってな
いやぁ本日はお日柄もよく、2スレ連続でぶっ潰せそうな勢いです。グラッチェ、グラッチェ
143 :
デフォルトの名無しさん :04/11/28 23:37:24
>>140 そうじゃん
使ってねー奴が知ったかぶっても仕方のないこと
145 :
デフォルトの名無しさん :04/11/28 23:38:42
> おまえにとってな そうおもいたいのですね ;-) かわいそうに。事実や常識をつきつけられても、「こいつがそうおもってるだけにすぎない」 とおもいこまないとやっていけないというのは、かなりかわいそうな精神状態です。
147 :
デフォルトの名無しさん :04/11/28 23:39:35
> 使ってねー奴が知ったかぶっても仕方のないこと やっぱり、VCユーザーだったか。 ってことは「井の中のかわず」はまさにおまえだろ ;-)
>>142 そうなんよな。前前スレあたりから変なage厨が常駐してんだけど、なんとかしてくんない?
149 :
デフォルトの名無しさん :04/11/28 23:39:48
なんせ、cl のエラーメッセージにヘッダが云々と書いてあるときの 疑うべきポイントも知らない付け焼き刃がいくら知ったかぶっても 死滅したかどうかとは全く無関係
150 :
デフォルトの名無しさん :04/11/28 23:40:04
>>146 Part 95 はすでに1000超えました。
151 :
デフォルトの名無しさん :04/11/28 23:40:20
>>145 自分の頭の中をわざわざ説明してくれなくていいよ
153 :
デフォルトの名無しさん :04/11/28 23:41:28
>>147 おまえ「ってことは」の用法間違ってるぞ
ニホンゴワカリマスカ?
154 :
デフォルトの名無しさん :04/11/28 23:41:27
> なんせ、cl のエラーメッセージにヘッダが云々と書いてあるときの なんていえばごまかせるとおもって、かなり古いのをひっぱってきてるけど、 ようは古いやつなら詳細確認するやついねーだろーからてきとーなとこいっても わからんと思ってやってるのでは? ;-) っていうか、そんな前の話をもってきてごまかさなきゃいけないっていう時点でダメ
155 :
デフォルトの名無しさん :04/11/28 23:41:49
っていうか、clかー なつかしいなあ
被害担当艦って奴か。
157 :
デフォルトの名無しさん :04/11/28 23:42:31
>>154 わけわかめ
ま、あんたの論理破綻は今に始まったことじゃないが・・・
とりあえずいいかげんsageれば?
159 :
デフォルトの名無しさん :04/11/28 23:43:45
> ま、あんたの論理破綻は今に始まったことじゃないが で、あんたってだれだよ。おれは今朝からかきはじめたのだが。ここには
いつも後から出てきたスレが上がってるんだけど、 何か古いスレが埋まるのを恐れてる奴がいるのか?
161 :
デフォルトの名無しさん :04/11/28 23:44:29
それにしてもVC厨すごいなー ほかのまともなスレッドにはかけないから ここに集中しちゃってるのかな?
162 :
デフォルトの名無しさん :04/11/28 23:44:32
>>158 アフォの一つ覚えがまた始まったな
sageたきゃsageろよ、てめえで
熱くくなりすぎて sage るの忘れてるんだろ。
迷惑な奴だ。
166 :
デフォルトの名無しさん :04/11/28 23:46:11
> いつも後から出てきたスレが あとからって、こっちがさきでは? それに、いつもって、むかしからよくあったの? おれは88ぐらいからしかよんでねーんだけど。
167 :
デフォルトの名無しさん :04/11/28 23:46:47
> ちゃんとコンパイル出来ますが、邪道ですか? コンパイルが通っても、実行結果がぜんぜんちがうじゃん.
168 :
デフォルトの名無しさん :04/11/28 23:48:01
2が出たらにせもの > 実行結果
169 :
デフォルトの名無しさん :04/11/28 23:48:06
>>159 オラオラ、文体乱れてるぞ
特徴コピーしてたんじゃねえのかw
まあ、boolに++演算子が使える時点で原則的にはおかしいわな。
171 :
デフォルトの名無しさん :04/11/28 23:49:24
> オラオラ、文体乱れてるぞ 反論できないからといって、そうやればごまかせると思うあたりが頭が弱いVC厨
172 :
デフォルトの名無しさん :04/11/28 23:50:18
>>171 154みたいな崩壊を披露したアフォが言っても説得力ねえよ (プ
173 :
デフォルトの名無しさん :04/11/28 23:50:28
> まあ、boolに++演算子が使える時点で原則的にはおかしいわな おかしくない。標準規格でしっかり定義されている。
Ruby厨と同じでgccを貶めたいが為に基地害のふりをしてVCを叩いているのだろうか。
175 :
デフォルトの名無しさん :04/11/28 23:51:20
> 154みたいな崩壊を 崩壊だということにしたいみたいだけど、どう読んでも逆だろ。
176 :
デフォルトの名無しさん :04/11/28 23:51:55
で、実行結果はどうなりました? > さっきのヘッダーでVC
178 :
デフォルトの名無しさん :04/11/28 23:52:50
>>175 いーや、cl のエラーメッセージをおまえが読めてない事実は動かない
179 :
デフォルトの名無しさん :04/11/28 23:53:23
>>177 もしかして足し算や掛け算できることも知らない?
>>178 いーや、おまえがコンパイラを使ったことがない事実は動かない
まぁ知らないことがある奴を見下してるほうが、よっぽど見苦しいよな
183 :
デフォルトの名無しさん :04/11/28 23:54:48
>>180 な、反論できねーだろ?
崩壊は間違いなくおまえなんだよ
184 :
デフォルトの名無しさん :04/11/28 23:55:26
> いーや、cl のエラーメッセージをおまえが読めてない事実は動かない あのーあれかいたのは私ですが。(なので171とかはちがう) で、あれ「読めてない」ことにしてみたいだけど、 たんに改行についてVCが規格見たいしてないだけでしょ? 私の書いたとおりじゃん。 むしろそっちがしったかぶりして、あやうくはじをかくことろをうまくごまかしてたつもりっぽい ;-)
186 :
デフォルトの名無しさん :04/11/28 23:56:17
>>184 は? 規格で undefined になってるところだよ
187 :
デフォルトの名無しさん :04/11/28 23:56:24
gccでもclでも、 #include "stdbool.h" int main(void) { bool a, b; a = true; if (a) b = false; b++; a++; printf("%d %d\n", a, b); } でなぜかprintf()がちゃんと動作したので記念カキコ
188 :
デフォルトの名無しさん :04/11/28 23:57:01
なるほど。反論できなくなってきたので、昨日のやつの話題をひっぱってきて、 話をそらそうと思ったのか。 でも、昨日のやつにもしっかり反論されてやんの -) あたまわるすぎー > VC厨
189 :
デフォルトの名無しさん :04/11/28 23:57:12
>>184 1001で救われたからこそ、
こっちが切り出さなきゃ黙ってるつもりだったくせに
190 :
デフォルトの名無しさん :04/11/28 23:57:38
> でなぜかprintf()がちゃんと動作したので記念カキコ ちゃんとって、ようするに「同じ結果がでた」ってこと? いくつになりましたか?
192 :
デフォルトの名無しさん :04/11/28 23:58:59
> は? 規格で undefined になってるところだよ なってねーって。 おまえ、自分のつかってるVCのメッセージが英語になっただけでよめなかったくせに、 標準規格についてもしったかぶりするのかよ...≧ またはじかくだけだぞ。
193 :
デフォルトの名無しさん :04/11/28 23:59:37
>>192 何の話かわかってねーくせに何が規格だカス
194 :
デフォルトの名無しさん :04/11/29 00:00:05
> 両方とも2 1でしたよ('ー`) で、VCにはさっきのURLのヘッダーを使ったの? gccでは2にはならないけどな。そのgccにせものでは?
ちなみに同ディレクトリに置いたstdbool.hを抹消して1行目を#include <stdbool.h>にして gccでコンパイルしても2 1でしたよ('ー`)
みなさん gcc のバージョンを書いてください。
197 :
デフォルトの名無しさん :04/11/29 00:01:21
> 1001で救われたからこそ、 > こっちが切り出さなきゃ黙ってるつもりだったくせに ぎゃくだろう。何か相手にまちがいがあったとおもって疑似エサにかかってるだけだろ おめーが
>>195 は間違いでしたよ('ー`)出力ファイル間違ってた
199 :
デフォルトの名無しさん :04/11/29 00:01:52
>>197 現におまえ、かする雰囲気すら見せてない
10種類のコンパイラはどうなったのれすか?
typedef bool _Bool;で_Boolは1bit整数扱いなのね…まあ、仕方ないか。
202 :
デフォルトの名無しさん :04/11/29 00:03:01
うちは3.3と3.4で試した > gcc 実行結果は2にはならんかった。
10種類のコンパイラはどうなったんでしょう、奥さま。
204 :
デフォルトの名無しさん :04/11/29 00:04:09
まあしょせんVCじゃ無理なんだよ > まともにCを扱う ごまかしのヘッダーもってきても、コンパイルは通せても、結果がちがう。
205 :
デフォルトの名無しさん :04/11/29 00:04:26
voidはVIPで粘土チンコ作ってるらしいよ
206 :
デフォルトの名無しさん :04/11/29 00:05:04
> 同じ内容で煽りあう上にぜんぶageだし。 同じ内容ってどんなのだろー
>>204 gcc 以外のコンパイラを教えてくださいな。
208 :
デフォルトの名無しさん :04/11/29 00:05:41
誰かiccやらLSICやら持ってきて試せよ
209 :
デフォルトの名無しさん :04/11/29 00:06:31
まぁ、なんだな、コンパイラといえば gcc しか知らんやつだってことだな。 10種類ってのはどこにいったのやら。
「いまならgccにおまけの9種類のコンパイラがついてます!!!」 「すご~~い!」
インテルのコンパイラ8.1(Windows)でさっきのヘッダ使ったら 2 1になったが。
あのヘッダ使ったらどのコンパイラでもそうなるよ
214 :
デフォルトの名無しさん :04/11/29 00:10:08
VC厨って、こわがりすぎなんですねー 10種類のコンパイラーのひとには私も興味ありますが。
IDないからかすごいね。
217 :
デフォルトの名無しさん :04/11/29 00:13:30
ここに書いているVC厨は何人ぐらいいると思いますか? ぎゃくにそれをあおっているやつは何人ぐらいいるんでしょう?
gcc VC(cl) icc LSI-C djgpp TurboC bcc watcom-C あと2つ・・・難しいな。
>>217 VC厨はゼロ。
煽りは1人。
いずれでもないのが 3-4 人。
コード戦士は?
221 :
デフォルトの名無しさん :04/11/29 00:16:04
目の前の道具に文句言うばかりで生産しないお荷物はいらん うちには面接にこないでね
222 :
デフォルトの名無しさん :04/11/29 00:16:54
whitesmithのCやLattice Cもしらんのか Vitumin Cってのもあったし、(コマンド名はvc.exe) Optimizing CやWizard Cや...(あと15個ぐらいはおもいだせるな。1時間ぐらいあれば^^)
223 :
デフォルトの名無しさん :04/11/29 00:17:24
vitamin Cなら知ってるよ(^^)
224 :
デフォルトの名無しさん :04/11/29 00:17:45
死に絶えたCの処理系の名前だったら、わたしも10や20言えます! 死んでないやつでおねがいします!
Hajimeteno C なら知ってるよ (--;)
Intel のやつと、Sun のやつと、ADS/RVCT と。
CインタプリタとかいうのがCマガにくっついてたよな。コンパイラと言えるか微妙なとこだけど。
228 :
デフォルトの名無しさん :04/11/29 00:19:14
こーどうぉりあーは実はパッケージの名前。 いろんなターゲットCPU用に製品がそんざいし、 けっこう中身がちがう。 その昔のMac用やWindows用のと、 ちょっと昔の携帯電話組み込み用のではコンパイラーががらっとちがう。
djgppはgccの1ポートティング turbocはbccの商品上の差別化 それからstdboolもってる10種類だからな
230 :
デフォルトの名無しさん :04/11/29 00:19:35
>>224 「死に絶えた」の基準をちゃんと示してね
規格に完全合致しない処理系とかほざく池沼と、あんたは違うよね
231 :
デフォルトの名無しさん :04/11/29 00:19:37
> CインタプリタとかいうのがCマガにくっついてたよな。コンパイラと言えるか微妙なとこだけど。 どこが微妙だよ...
232 :
デフォルトの名無しさん :04/11/29 00:20:11
> VC厨はゼロ。 じぶんはちがうと思いたいのですね? ;-)
ADS/RVCT は 1.2 までは stdbool なかったと思う。2.0 では知らん。
234 :
デフォルトの名無しさん :04/11/29 00:21:00
> 「死に絶えた」の基準をちゃんと示してね VCとかbccみたいなやつのことだろ。
>>231 本当にインタプリタなのか、単に実行時コンパイル(Perlのように)し、事前コンパイルが不要だから
便宜上Cインタプリタと呼んでいたのか、確かめる術が無いから微妙なところ。
236 :
デフォルトの名無しさん :04/11/29 00:21:13
>>232 ちがうって何と?
あんたの脳内基準なんかシラネーヨ
237 :
デフォルトの名無しさん :04/11/29 00:21:46
238 :
デフォルトの名無しさん :04/11/29 00:22:36
> それからstdboolもってる10種類だからな たいがいもってるのでは? 死んでないやつなら。 そこにあがってる、LSI-CやWatcomやらVCやらBorland Cみたいな「死んだ」やつ じゃなければたいがいある。
1まのところ誰も2種類以上あげてないわけだな
ボーランドのフリーで配ってるC++5.5(bcc32.exe)でも そのヘッダで 2 1になったぞ。
>>238 その死んでないやつって、いったいいくつあるんだ?
242 :
デフォルトの名無しさん :04/11/29 00:23:21
> 本当にインタプリタなのか、単に実行時コンパイル(Perlのように)し、事前コンパイルが不要だから > 便宜上Cインタプリタと呼んでいたのか、確かめる術が無いから微妙なところ。 いやあれはperlやawkみたいな方式ではなく、インタープリターでした。
243 :
デフォルトの名無しさん :04/11/29 00:23:27
> 「死んだ」やつじゃなければたいがいある。 では、10種類どうぞ
245 :
デフォルトの名無しさん :04/11/29 00:23:49
> その死んでないやつって、いったいいくつあるんだ? いっぱいあるだろ? 現在つかわれているたいがいのものが「死んでない」やつだ。
246 :
デフォルトの名無しさん :04/11/29 00:23:51
結局、脳内基準で勝手に吠えてるだけなカスばっかりだな
>>238 > たいがいもってるのでは?
実はお前、自信ないくせにでかい口を聞いてたわけだな。
248 :
デフォルトの名無しさん :04/11/29 00:24:48
> ボーランドのフリーで配ってるC++5.5(bcc32.exe)でも > そのヘッダで > 2 1になったぞ。 そりゃなるだろ。同じヘッダーつかえば。 (gccでもなるだろう)
249 :
デフォルトの名無しさん :04/11/29 00:24:59
晒したらつっこみどころ満載だからこそ「脳内」にしてあるんだろ (プ
250 :
デフォルトの名無しさん :04/11/29 00:25:28
> 実はお前、自信ないくせにでかい口を なんでおれにいうわけ?
251 :
デフォルトの名無しさん :04/11/29 00:26:04
そもそもbccとvcのどっちがより「死んで」いると思っているのですか?
>>242 そうでしたか、どうも。ちなみに何という名前でしたっけ?もう5年以上前のことなんでよく覚えてないんですよ。
CINTか?
256 :
デフォルトの名無しさん :04/11/29 00:28:28
cl の使い方わかんねーやつ拗ねたなw
257 :
デフォルトの名無しさん :04/11/29 00:29:54
VC厨の特徴であらたに発見されたもの (1) cl.exeを直接つかったことがない。 (2) エラーメッセージが英語になると読めない。
258 :
デフォルトの名無しさん :04/11/29 00:30:52
(3) 使い込んでないからエラーメッセージの癖を知らない
259 :
デフォルトの名無しさん :04/11/29 00:31:26
(4) そのくせチンコは右手相手に使い込んでいるので真っ黒
(4)だけ該当するぞ。うん。
261 :
デフォルトの名無しさん :04/11/29 00:33:19
手でしてるひとって、それほど黒くないんですよ。 女性相手にしてるひとより。なんで?
262 :
デフォルトの名無しさん :04/11/29 00:33:50
るbyわすれないで!!!!!!!!!!!
263 :
デフォルトの名無しさん :04/11/29 00:36:36
VC厨って、Cの文法も中途半端なだけじゃなく なんでもかんでもそこからぬけださえないんだよね。 で、「すでに死に絶えたVCを使ってる」ことや「ろくにCをわかってない」という事実を めのまえにつきつけられると暴れるわけ。 その暴れるときに、ひかくてき初期には「おだいもく」をとなえてなんとか自分の 「痛さ」をやわらげようとする。よくあるセリフは 「まあ、そのC99をサポートしているコンパイラーはどれだけあるよ?」と もう1こなんだっけ? 2つあるよね > よくみかけるの ほかにもいろいらるんだけど、頻度が高い2つ。
264 :
デフォルトの名無しさん :04/11/29 00:37:27
未だにCに固執するぼけも同類
265 :
デフォルトの名無しさん :04/11/29 00:38:06
あ、おもいだした。 「いまどきCなんて」ってC++ユーザーやJavaゆーざーやC#ユーザーにいわれると、 きゅうにRuby厨に化けるんですよ。 だから、VC厨のいるときにかならずいっしょに出現する。
漢字の割合をもっと高くして文章を書きましょう(2/10点)
267 :
デフォルトの名無しさん :04/11/29 00:39:32
rubyだったら分野ちがうし、それほど悪口言うひといないってことを知って、 それで「話をそらそう」とするんでしょうね。
傾向分析ご苦労様です。
>それほど悪口言うひといないってことを知って そんなばかな。
270 :
デフォルトの名無しさん :04/11/29 00:40:45
そのあたりにVC厨の「精神的弱さ」が特徴的にあらわれているんですよ。 だからVC厨のいるところはいつもすぐスレッドが荒れる。
271 :
デフォルトの名無しさん :04/11/29 00:41:13
> そんなばかな。 東京みやげによくもらいます。
272 :
デフォルトの名無しさん :04/11/29 00:41:33
それは「東京ばなな」だろ
273 :
デフォルトの名無しさん :04/11/29 00:42:17
Cで使わない記号は @ と $ と あと何ですか?
274 :
デフォルトの名無しさん :04/11/29 00:42:46
え?真っ黒だけど。
`
276 :
デフォルトの名無しさん :04/11/29 00:43:06
いそいで調べてます。 20分以内に教えてください。 (もちろんgoogleもしましたがわかりませんでした)
`
# もじゃないの?
どうやってincludeするの?
>>278 プリプロセッサはどう考えてもCの一部。
281 :
デフォルトの名無しさん :04/11/29 00:44:20
荒らしてたのはvoidの弟子どもだろ?
283 :
デフォルトの名無しさん :04/11/29 00:46:39
>>263 死に絶えたかどうかをあんたに押しつける意味は確かにないが
Cをわかってるかどうかには自信があって言ってるよ
あんたが幼稚園くらいの頃からやってるかもね
284 :
デフォルトの名無しさん :04/11/29 00:46:52
voidはかんけーねーだろ おまえら、なんかっていうとつごう悪いあいてでてくるとvoid関係者だと思ってしまう それって、夜トイレいくときに暗がりがおばけにみえてしまうのと同じでは? だから、「こわがりすぎー」っていわれるんだろ。
285 :
デフォルトの名無しさん :04/11/29 00:47:59
> 死に絶えたかどうかをあんたに押しつける意味は確かにないが で、VCは死に絶えているってことでいいんですね? (Y/y) > Cをわかってるかどうかには自信があって言ってるよ まあ、代入演算子の両側に空白をあけないおまえはわかってないね。
voidは痛い奴の代名詞だろ。
で、10種類は?
消防士さん、まだ残り火があるようです。
289 :
デフォルトの名無しさん :04/11/29 00:48:48
消防署の方から来ました。
290 :
デフォルトの名無しさん :04/11/29 00:49:32
> voidは痛い奴の代名詞だろ。 いないときはそうやって余裕かましてるくせに、来るとおまえらこわがりすぎなんだよ。
291 :
デフォルトの名無しさん :04/11/29 00:49:58
え、本人来たの?
292 :
デフォルトの名無しさん :04/11/29 00:51:03
本人かどうかはどうでもいい。 まねするやつもぜんぶvoidだ!
293 :
デフォルトの名無しさん :04/11/29 00:51:36
>で、VCは死に絶えているってことでいいんですね? (Y/y)
>>137
まねって、どういうの?
ATOKを馬鹿にすることじゃない?
296 :
デフォルトの名無しさん :04/11/29 00:54:03
297 :
デフォルトの名無しさん :04/11/29 00:54:13
> まねって、どういうの? こわがりすぎー:-P
voidタソハァハァ…
299 :
デフォルトの名無しさん :04/11/29 00:56:45
わたし、日下部さんの本物に会ったことありますよ! まだ本とかかかれるまえでしたから,サインとかはしてもらいませんでしたが。 うちの会社が彼に外注するCとアセンブラのプログラムのうちあわせでした。(もう20年以上前だ!)
300
301 :
デフォルトの名無しさん :04/11/29 00:57:46
20年前だとC99は無かったはずだよね? そのころも「ふつうC99だろ?」って言ってましたか? (なわけねーって)
302 :
\_____________/ :04/11/29 00:58:36
V 彡川三三三ミ 川川 ::::::⌒ ⌒ヽ 川川::::::::ー◎-◎-) 川(6|:::::::: ( 。。)) カタカタカタ 川川;;;::∴ ノ 3 ノ ______ \_;;;;;;;;;;;;;;;;ノ | | ̄ ̄\ \ / \__| | | ̄ ̄| / \___ | | |__| | \ |つ |__|__/ / /  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
303 :
デフォルトの名無しさん :04/11/29 00:59:16
わたしはfjのころからずっと読んでるが、本人が「ふつうC99」だとか言ってるのは 聞いたことないぞ。弟子が勝手に言ってるだけでは?
304 :
デフォルトの名無しさん :04/11/29 01:00:07
弟子がやることは師匠が責任とれっ
305 :
デフォルトの名無しさん :04/11/29 01:01:06
こないだ、「voidの生写真持ってる」って言ってたやつは、今夜はいないのか?
306 :
デフォルトの名無しさん :04/11/29 01:02:10
@ $ # ` の4種類ですね。どうもありがとうございました。
#は違うだろw
308 :
デフォルトの名無しさん :04/11/29 01:19:39
違うんですか? どっちなんですか? はっきりしてください。
>Cで使わない記号は @ と $ と あと何ですか? # は使う方になるんぢゃねーの? _ の方が使わない方にならんか?変数名とかには使うが。
新しいキーワードには _Bool とかがあるなぁ...
311 :
デフォルトの名無しさん :04/11/29 01:45:00
あたらしくねーだろ5年も前だ
312 :
デフォルトの名無しさん :04/11/29 01:45:57
> しばらく読むのよすよ。 > 何度もああいうの現れたけど、その度にこれで自衛してきた。 こわがりすぎー
で、5種類も出てこないの?
314 :
デフォルトの名無しさん :04/11/29 02:01:20
これだけしつこくするところ見ると、 10種類とか書いたやつ、VC厨の自作っぽいな。
316 :
デフォルトの名無しさん :04/11/29 02:07:38
C99対応のコンパイラーかどうかを #ifdefとかで調べる方法ありますか 教えてください。
ここは、半可通しかいないよ
318 :
デフォルトの名無しさん :04/11/29 02:13:18
じゃあおしえてもらえないんですね。
319 :
デフォルトの名無しさん :04/11/29 02:14:06
彼にきいても教えてくれないんです。
320 :
デフォルトの名無しさん :04/11/29 03:15:19
その彼もVC厨なんだな
321 :
v(^o^i)d :04/11/29 03:39:21
322 :
デフォルトの名無しさん :04/11/29 04:59:24
おまえらみんなvoid恐怖症だな。
しかし、20年以上も前の人がこんなに話題にされるとはねぇ。 本は兎も角、技術屋としてはとっくに終わってるよ。
324 :
デフォルトの名無しさん :04/11/29 09:17:49
> 技術屋としてはとっくに終わってるよ。 すごーい。こんなこと言われるなんて、よほどこわがられてる... (つまり、「そういうことにしてしまいたい!」という気持ちのあらわれなんだから)
おまいら教えて下さい 3000ステップぐらいのソース書いたのだが コンパイルするとスンゲー数のエラー出やがる ちょっとづつコンパイルかけるが吉かね? それとも他にいい方法あるかね どうなんだよ先輩ドモ
20年以上も前の人って誰?
>>326 その大量のエラーの中から、原因が明らかなもの(typo や include 忘
れ)をざっと探して修正。その後もう1回コンパイル。原因が明らかなエ
ラーがなくなったら、個々のエラーについて調べはじめる。
つか、適当に切り分けてコンパイルすれば? それとも一関数が3000行かね
>>326 大抵は先頭の方にある文法エラーが後々まで尾を引いている。
分割できるなら分割し、そうでないなら最初の方の幾つかだけ修正してリコンパイル。
#つまり、>328と>329だね。
>>327 ボイドンでしょ。講師はやってる(らしい)けどプログラミングの現場からは離れてるってことではないかと。
そろそろ次スレお願いします。
で、10種類は?
>>328 >>329 >>330 先輩ドモサンクス!
補足ですが一関数が3000ステップではなく、1ソースって感じです
今、分割の方法を取ってやっています
あんな口調だったのに答えてくれるおまいら愛してる
334 :
\_____________/ :04/11/29 20:45:06
>>326 #if 0 //one-piece
opai();
heso();
mamuko();
momo();
hiza();
sune();
tumasaki();
#endif
少しずつ下へずらしていって
どこで抵抗するか試してみるが(・∀・)イイ!!
335 :
デフォルトの名無しさん :04/11/29 20:47:33
そーいえばさ、誰だか忘れたけど、6000行くらいの関数 作ったって喜んでいる香具師いたな。
337 :
デフォルトの名無しさん :04/11/29 23:38:57
ああ、そういやぁ、いたな。 藤原だっけ?一個の長い関数を作って 行数で自慢していたのは? 他の奴だっけ?どっかのホームページに載ってたな 何かの対談のようだったが。
>>338 藤原の翁のことを言っているなら、彼は長い関数を短く整理して悦に入っている方。
それで本も書けばWebPageも書いているわけで。
758 :仕様書無しさん :04/11/29 18:35:48
この上司の台詞に俺はキレた・・・
「ドラクエ8のラスボスは主人公の兄イリアス」
759 :仕様書無しさん :04/11/29 18:54:19
>>758 うそだと言ってくれ・・・orz
761 :仕様書無しさん :04/11/29 19:14:45
>>758 おれはおまえにキレそうだ。
FILE *fin; fin = ("book.txt", "r"); if(fin == NULL){ exit(1); } Cでこんな風にしているんですが book.txtのファイルサイズを取得する関数は C言語にありますか?
あります。探してください。stdioには無かったりします
>stdioには無かったりします fseekとftelでなんとか汁!
FILE *fin; fin = ("book.txt", "r"); fseek(fin,0,SEEK_END); printf("%d\n",ftell(fin));
347 :
デフォルトの名無しさん :04/11/30 02:30:31
> ボイドンでしょ。講師はやってる(らしい)けどプログラミングの現場からは離れてるってことではないかと。 いや、いいとしして現場に出てるらしい...。IRCで#じゃぺーんとかにいってみろ。本人もいるぞ。 どうかんがえても現場でる年じゃねーよなあ。管理側に行けないわけでもあるんだろうか
トラブルの元だから誰も重責を与えたくない
349 :
デフォルトの名無しさん :04/11/30 02:34:06
あんなのの肩を持つ気はさらさらないが 管理職にならないことにいちいち理由なんぞいらん 集団催眠にかかった者に自覚はないが他覚的には痛い姿だ
350 :
デフォルトの名無しさん :04/11/30 02:37:04
statでもつかっとけ
351 :
デフォルトの名無しさん :04/11/30 02:37:48
> それで本も書けばWebPageも書いているわけで。 彼のWebはだめすぎ。
352 :
デフォルトの名無しさん :04/11/30 02:44:32
> あんなのの肩を持つ気はさらさらないが > 管理職にならないことにいちいち理由なんぞいらん でもー、たとえばプロ野球にたとえれば、王、長島とまではいかなくても、 たとえば江川ぐらいのが現役で選手やってたら変でしょー? サッカーもジーコが現役でやってたらやっぱりへんー
353 :
デフォルトの名無しさん :04/11/30 02:46:19
でも、来月発売でしょ? > void氏のコードが数万行入っている某製品 void嫌いの人も、知らずにつかってたりして...
354 :
デフォルトの名無しさん :04/11/30 02:48:25
で、 C99対応のコンパイラーかどうかを #ifdefとかで調べる方法は結局ないんですね?
>>354 君は1日前にも満たない過去ログさえ読むことが出来ないの?
356 :
デフォルトの名無しさん :04/11/30 03:04:59
で、結局ないのかー
357 :
デフォルトの名無しさん :04/11/30 03:07:54
printf("%d\n", __STDC__); で1は出るのだが、 これってC99が改訂されてC04になっても1は1なんだよね。 なんとかC99かどうか調べられないかなあ。
よく知らんが、 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ / 100 == 1999) とかで出来るんちゃう? 尤も、__STDC_VERSION__が定義されててもC99の機能が全部使えるかどうかは怪しいから 結局コンパイラごとの個別対応が必要になりそうな気がする。
359 :
デフォルトの名無しさん :04/11/30 08:39:46
手元の本に、C++は繁雑な言語でベターCとは成りえず、 ある程度Cに習熟習熟すればC++で実現している全てを より完結にCで記述出来るって書いてあるのですが、 Cでクラス、メソッド、継承などはどのように書けばいいでしょうか。
おまえのような凡人は黙って使っとけばいいんだよ
362 :
デフォルトの名無しさん :04/11/30 10:05:57
演算子について教えて欲しいのですが 例えば a に 5 を加算した値を a に代入する場合 a += 5; a = a + 5; 上の2つは同じ動作をするのですが 、どちらが望ましいのでしょうか? また、できあがったプログラムの処理の早さとかにも関係してくるのでしょうか?
>>362 大昔の、コンパイラが馬鹿だった場合、a += 5 の方が効率よかった。
いまどき、どんなコンパイラでもその2つの結果生成されるコードは全く一緒。
>>362 コンパイルに要する時間が、極々極々僅かに前者の方が短い気がする。
それは兎も角、C++を睨んで、前者に慣れておいたほうがいいと思うけど。
>>363-364 質問に答えてくれてありがとうございました。
いちお、前者のほうを使っていくように心がけてみます。
366 :
デフォルトの名無しさん :04/11/30 13:10:24
"YUKKO %-04d/%-02d/%-02d:%d:%2s",Y,M,D,H,B ↑これなに??? 後ろのYMDHBというのは生年月日と身長、血液型らしい 前半部分がさっぱり理解不能。ヘルプ!
YUKKO 年/月/日:身長:血液型と出力される。 %dは単なる整数出力。 %-04dも整数出力だが、数字が3桁以下でも4文字分のスペースを(左詰の-があるので)右側に開けて出力。%-02dも同じ %2sは文字列、2というのは同様に1文字以下でも2文字分のスペースを空けるということ。
>367 うぉーサンクス!さすがだぜ兄弟! んで生年月日は1974年9月8日、身長160センチ、血液型はAB型なんだが、 具体的にどのように表記すればいいだろう? ついでに頼むぜ!
printf("YUKKO %-04d/%-02d/%-02d:%d:%2s", 1974, 9, 8, 160, "AB");
>369 激しく㌧クス! しかし何かが違うらしい! パスワードなんだが受け付けてくれない(´・ω・`)ショボーン とりあえずもう少しがんがってみる!
printfでパスワード…?
>371 いやね、あるファイルをダウンロードしたんだけど、そのパスワードのヒントが>366なのさ! >369見て「さすが兄弟!これで解凍できるぜ!」と思ったら弾かれるのよ! だいたい300MもあってDLに2時間、やっと落としたらこれだよ! どないせっちゅーねん!
それならこう入れてみたらどうだ? YUKKO 1974/9 /8 :160:AB
>373 うがぁ!!!!違うようだ!Uzeeeeeeeeeeeeee! しかしプログラム板ってのは親切だな! 今日初めて来たが、こんなにすぐアドバイスをもらえるとは思えなかった。 改めて㌧クス! まだ挑戦中。なんとかしてぇ!
氏名 江崎友基子 生年月日 1974年9月8日生まれ 血液型 AB型 セントフォース所属 これから関西だけじゃなくて全国に羽ばたいて欲しい 放送タレントさんです。
377 :
デフォルトの名無しさん :04/11/30 16:02:56
10個の実数型データを単純選択法(直接選択法)で降順(大きい順)に並べ替えるプログラムを作成せよ。 すみません!これのプログラムを教えてもらえないでしょうか?よろしくお願いします!
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
下のコード中で7行目に構造体へのポインタをif文で評価していたり、 while文でループ制御に使ったりしているのですが、これは一体どの ような意味になるのでしょうか? 1: static SeqNoEntry *Mac802_11GetSeqNo( 2: GlomoNode *node, GlomoMac802_11 *M802, NODE_ADDR destAddr) 3: { 4: SeqNoEntry *entry = M802->seqNoHead, 5: *prev = NULL; 6: 7: if (!entry){ 8: ~ entryの値を代入~ 9: return entry; 10: } 11: 12: while (entry){ 13: ~処理~ 14: } 15: 16: ~処理~ 17: } ---------- SeqNoEntry 構造体 -------------- typedef struct seqno_entry_t { NODE_ADDR nodeAddr; int fromSeqNo; int toSeqNo; struct seqno_entry_t *next; } SeqNoEntry;
どうでもいいけど、業務用のコードってこんなに難解なんですか? 仕様書番号をそのまま名前に放り込んだような・・・
>>380 業務系は得てしてそう言う関数名をつける。
つーか、そうしないとコボル上がりのプログラマ崩れが五月蝿い。
>>379 if (!entry)はif (entry == NULL)、while (entry)はwhile (entry != NULL)と同じ。
>382 ありがとうございます。凄い助かりました!
<⌒/ヽ-、___ /<_/____/ そのレベルの質問だったのかよ。  ̄
おまいら ホストバイトオーダーって何よ?
>>385 インディアンに対して巨根か短小かを問い掛ける言葉
>>380 業務系はコードを暗記している量で実力が決まる世界だからね。
業務系はつまらないよね。 オープンソースでライブラリ作っている方が楽しい。
下の宣言をグローバル領域で行った場合、 「グローバルな、または静的なマネージ型オブジェクト、または __gc ポインタを宣言できません。」 とエラーが出てしまったのですが、下記ポインタをグローバル領域 に宣言する方法はないのでしょうか。 (WindowsXP VC++.net C言語で作ってます) OracleConnection *con;
>>389 それはCはCでもManagedCじゃ無いのか・・・
MangledCです
>>390 ManagedCというのは知りませんでした。
ではこのような宣言はどうすればできるでしょうか。
知っていましたら教えて下さい。
ぶっちゃけmanagedC++やるぐらいならC#勉強しろと思うが
というよりも、389はVS.NETを使って普通のCプログラミングがやりたいのでは。 VS.NETをもって無いので分からないけれど、コンパイルオプションから /CLRを外せば、普通のC/C++を使えるようなことを聞いたが。
managedC++の質問をCスレでするってのは、どういう神経? 「C」が付いてるからいいと思ってるのか。 んなら COBOL の質問もありか。
もの知らなくて質問するのはいいだろ。誘導してやればいい。
>>396 が COBOL の質問したらブッ飛ばすけどな。
mananed C++のスレに行かせていただきます。 ありがとうございました。
で、10種類は?
くどい
誤魔化すな。10種類は?
403 :
デフォルトの名無しさん :04/12/01 00:59:52
オラ、出てこい! (晒しage
10種類の人は週末に来るでしょ。せっかく平日は平和なんだから召還しないように。
405 :
デフォルトの名無しさん :04/12/01 01:24:17
5種類のひともいたような。
406 :
デフォルトの名無しさん :04/12/01 01:45:08
> 大昔の、コンパイラが馬鹿だった場合、a += 5 の方が効率よかった。 これ大うそ。
ほら・・・
こんばんわ
409 :
デフォルトの名無しさん :04/12/01 02:28:46
ちょっと失礼。 gcc -oxxx xxx.cとすると エラーで「xxx.c:55: two or more data types in declaration of `main'」 と出ます。これは何が原因でしょうか?
main()の戻り型をチェック
ああ、何とか解決しましたです。どうも。
412 :
デフォルトの名無しさん :04/12/01 08:29:44
型しらべてどうする ぼけ
413 :
デフォルトの名無しさん :04/12/01 08:40:09
きっと初歩的な質問で申し訳ないのですが、以下のプログラムの下から2行目 gets(y->name); のところが、コンパイルしても実行されません。 どなたか分かる人、原因を教えて下さい。お願いします。 ちなみに、エラーメッセージは出ていません。コンパイラはLSI-Cです。 #include<stdio.h> struct Student {int sintyou;int taijuu;char name[20];}tanaka,ikeda; void hyouzi(struct Student x);void nyuryoku(struct Student *y); int main(void){ nyuryoku(&tanaka); nyuryoku(&ikeda); hyouzi(tanaka); hyouzi(ikeda); return 0;} void hyouzi(struct Student x) {printf("%d %d %s\n", x.sintyou , x.taijuu , x.name);} void nyuryoku(struct Student *y) {printf("身長を入力して下さい"); scanf("%d",& y->sintyou); printf("体重を入力"); scanf("%d",& y->taijuu); printf("名前を入力\n"); gets(y->name); }
414 :
デフォルトの名無しさん :04/12/01 09:12:52
getsとscanfを使わなければうまくいきます。
>>413 scanf()とgets()を組み合わせた場合によく陥る罠。
どちらも仕様を推奨できる関数ではないので、前者はfgets()+sscanf()で、後者はfgets()で書くことをお勧めする。
それから、必要がないならLSI-Cではなく、32ビットのフリーのコンパイラを使用することを強くお勧めしておく。
>>413 fgets()+sscanf()でもいいが、fgets()+atoi()でも充分用は足りるね。
417 :
デフォルトの名無しさん :04/12/01 09:31:28
っていうか、 数値入力するのにfgetsでとるなよ argvからとれ
(・3・)エェー
>>417 インタラクティブな処理を目指しているとしたら?
例外処理とか入ってないし実用は考えてないだろ 構造体の勉強用のわざとらしいプログラムに思える。
>>420 だったら尚のこと、コマンドライン仕様を考えるのも無駄な気がするが。
K&R買ってしばらくたつんだけど。原著で読めないならば買わないほうがよかったかな? もちろん原著では読めませんけど^^;
getopt()じさく
世界中で何千・何万もの再発明を(事実上)しなきゃいけないのがクラスライブラリの貧弱なCの悩ましいところ
VisualC++6.0でダイアログのイベントハンドラ追加できないエラーに はまってます。 ダイアログエディタでダブルクリックすると 「新規メンバを追加できません」←なメッセージボックスがでて ハンドラ追加してくれません。 何が原因なんでしょう?
突っ込まれる前に訂正しとこ クラスライブラリ→標準ライブラリ
>>425 プロジェクトを一度閉じて、.clwファイルを削除した後もう一度開いても現象が変わらないなら
VC専用スレへどうぞ。
#そのソースファイルが他で開かれてるって落ちはないよな。
.clwを削除してもだめでした。 PC再起動したらいけました。 他でそのファイルを開いてたわけではないのですが・・・。
>>422 そんなことはない。
ただのC言語の解説書だよ。
理解できたら後は捨ててもいいくらい。
>>429 そうですか。安心しました。
レス、ありがとうございます。
if(A) { if(B) { hoge(); } } と if(A && B) { hoge(); } どちらも速度は変わりませんかね? A,Bは条件式とする。
そんなこと気にするぐらいだったら他所をいじれという程度の違いは出るかも
>>431 最近のコンパイラなら最適化によって同じコードを吐きます。
コンパイル速度を問うているなら、余計なことは気にするな、と。
で、まだ1種類も出ないのか?
なにが?
☆ チン マチクタビレタ~ マチクタビレタ~ ☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < 10種類まだ~? \_/⊂ ⊂_ ) \_____________ / ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | 愛媛みかん |/
437 :
デフォルトの名無しさん :04/12/01 20:45:54
晒しage
438 :
デフォルトの名無しさん :04/12/01 20:48:35
>>431 処理系による。翻訳環境と実行環境、いずれの特徴にも強く依存する。
少なくとも、その処理系での実測をせずに他の処理系での最適化についての議論を始める阿呆がいるようだが相手にしてはならない。
vc, vc++.net, gcc for cygwin & Linux & XXX & YYY, bcc shc, CodeWarrior for XXX & YYY & ZZZ, cc
440 :
デフォルトの名無しさん :04/12/01 20:56:16
stdboolのある10種類だよ♪お馬鹿さん♪♪
>>438 では、実測した結果を報告してください。
442 :
デフォルトの名無しさん :04/12/01 22:21:13
>>441 実測が必要と示唆した者になぜ実作業を要求するのか、論理的に説明したまえ。
厨国の故事による
先ずは隗より始めよと
実測するまでもなく同じコードを出力すると書いているのが見えないらしい。
コードに違いがある可能性がないはと考えられない。
447 :
デフォルトの名無しさん :04/12/01 22:52:51
>>445 >実測するまでもなく同じコードを出力する
脳が腐乱していてプログラムに関する議論ができないらしい。
448 :
デフォルトの名無しさん :04/12/01 22:55:08
すいません。他すれで質問していたのですが、ここでも質問させてください。 365 名前:デフォルトの名無しさん 投稿日:04/12/01 22:01:17 すいません。スレ違いかもしれませんが教えてください。 windowsで動作するアプリを作成してみたい(勉強したい)のですが、 例えば、VBで作成するとだとランタイムが利用するマシンに必要になるとおもいます。 こういったランタイムなどの配布なしで動作するアプリを作るには どのような技術を勉強すればよいのでしょうか??
>>448 Delphi, C++ Builder, Visual C++ とか使うといい。
ちなみに C++ Builder が一番お奨め。
452 :
デフォルトの名無しさん :04/12/01 22:57:42
453 :
448 :04/12/01 23:02:39
>>450 451
ありがとうございます。
>>452 誘導受けたわけではないのですが、”俺に聞け!”ってタイトルにつられて
ふらふらと。。。すいません。
454 :
413 :04/12/01 23:22:16
返事が遅くなってしまい、申し訳ありません。 414~417さん、アドバイスありがとうございました。 scanf()とgets()は組み合わせるとよろしくないということですね。 まだまだ初心者で理由が分かりませんが、おいおい勉強していきたいと思います。
455 :
デフォルトの名無しさん :04/12/01 23:25:13
>>453 ちなみに、C でもランタイムはすぐつくよ。
printf みたいな標準関数を使わないんなら別だけど。
とにかくランタイムが嫌いでチキン肌がスタンダップするほどなら、
組み込み系かアセンブラのが C よか君の好みに近いんじゃないかな。
間違っても携帯アプリとかに近寄らないほうがいいよ。
ム板には機械語スレもあるけど、CISC だとやっぱりランタイムがいたりするから、
話すなら RISC 限定で切り出した方がいいな。
VC++7以上を使ってmsvcr70に嵌れ(w
458 :
デフォルトの名無しさん :04/12/02 03:29:21
> K&R買ってしばらくたつんだけど。原著で読めないならば買わないほうがよかったかな? もったいないのでわたしにください。
459 :
デフォルトの名無しさん :04/12/02 03:30:19
>>424 > 世界中で何千・何万もの再発明をしなきゃいけないのがクラスライブラリの貧弱なCの悩ましいところ
Cに「クラス」があると思い込んでいるしったかぶり君。
460 :
デフォルトの名無しさん :04/12/02 03:37:24
初めての開発環境に、MicrosoftのものかGNUのもの以外を薦める奴の気がしれない。 ボーランド最悪。
462 :
デフォルトの名無しさん :04/12/02 09:05:41
は? 逆だろ。VC最悪
素人にGNU勧めてどうするんだ?
464 :
デフォルトの名無しさん :04/12/02 09:45:43
463 名前:デフォルトの名無しさん :04/12/02 09:11:08 素人にGNU勧めてどうするんだ?
465 :
デフォルトの名無しさん :04/12/02 09:55:51
小さいファイルから巨大なファイル(数G程度)を扱うコンソールアプリを作っています。 しかしながら、ファイルのサイズをバッファに読み込むことなく取得することができず困っています。 Windows、UNIXに依存したプログラムを書くことを想定してますが、どなたか助けていただけませんか? Windows(NTFS) 2003 Server + VS .net 2003 UNIX Solaris + gcc
466 :
デフォルトの名無しさん :04/12/02 09:56:27
かなりの初心者なんですが、教えていただけたら有り難いです。 >整数型配列aに100から199までの数字を格納し、4けたの書式付10進数で出力 >せよ。また、書式なしの10進数で出力した結果と比較せよ(両方の結果を示す事)。 for文を使うと良い。 for(i=100;i<200;i++); 書式付というのは、この場合%4dということで良いのですか?
467 :
466 :04/12/02 09:57:13
初心者なりに使えない脳で書いてみました。どこが違うのでしょうか。 #include <stdio.h> main(){ int a = 0; int i; for(i=100;i<200;i++){ a = i - 1; printf("%4d",a); printf("%d",a); } }
468 :
デフォルトの名無しさん :04/12/02 09:57:45
よい。
469 :
デフォルトの名無しさん :04/12/02 09:58:35
470 :
466 :04/12/02 10:00:21
とおっしゃると? コンパイラーが無いので、確認が取れないのですが、 友人に聞いたところ、違うと返答が来て・・・・・・。
471 :
デフォルトの名無しさん :04/12/02 10:01:25
>>470 なんでわざわざ1を引くんだよ。
for(a=100;a<200;i++){
printf("%4d",a);
printf("%d",a);
}
472 :
466 :04/12/02 10:02:59
となると、、、、 #include <stdio.h> main(){ int a; for(a=100;a<200;a++){ printf("%4d",a); printf("%d",a); } } ということになるんでしょうか?
473 :
デフォルトの名無しさん :04/12/02 10:03:43
おまえら改行いれろよ...
474 :
デフォルトの名無しさん :04/12/02 10:08:44
正しくはこう #include <stdio.h> main() { int i; for (i = 100; i < 200; i++) { printf("%4d\n", i); printf("%-4d\n", i); printf("%d\n",i); } }
475 :
デフォルトの名無しさん :04/12/02 10:18:25
問題には整数「配列」aとかかれているから、 int a;はダメ int a[100];にする
476 :
466 :04/12/02 10:21:21
では、474,475さんの書き込みを二つを合わせると、 #include <stdio.h> main() { int i[100]; for (i = 100; i < 200; i++) { printf("%4d\n", i); printf("%-4d\n", i); printf("%d\n",i); } } でOKなんですか? あと、追加の質問で失礼なんですが、%-4dが示すものは何でしょうか。
477 :
デフォルトの名無しさん :04/12/02 10:36:18
> 整数型配列aに100から199までの数字を格納し、4けたの書式付10進数で出力 こういう無意味な課題出すぼけの顔をみたいものだなあ。 何か「意味のあること」やれよ。
478 :
デフォルトの名無しさん :04/12/02 10:36:48
> 整数型配列aに100から199までの数字を格納し、4けたの書式付10進数で出力 こういう無意味な課題出すぼけの顔をみたいものだなあ。 何か「意味のあること」やれよ。
479 :
デフォルトの名無しさん :04/12/02 10:38:17
正しくはこう #include <stdio.h> main() { int a[100]; int i; for (i = 0; i < 100; i++) { a[i] = i + 100; printf("%4d", a[i]); printf("%d",a[i]); } }
480 :
デフォルトの名無しさん :04/12/02 10:39:22
だからかいぎょうしろって。 #include <stdio.h> main() { int a[100]; int i; for (i = 0; i < 100; i++) { a[i] = i + 100; printf("%4d\n", a[i]); printf("%d\n",a[i]); } }
481 :
デフォルトの名無しさん :04/12/02 10:40:47
2つの出力を見比べるなら、このほうがいいのでは? #include <stdio.h> main() { int a[100]; int i; for (i = 0; i < 100; i++) a[i] = i + 100; for (i = 0; i < 100; i++) printf("|%4d|%d|\n", a[i], a[i]); }
482 :
デフォルトの名無しさん :04/12/02 10:41:49
2種類の意味のちがう「100」がまじるとわかりにくいので、 以下のようにしたほうがいいのでは? #include <stdio.h> #define N main() { int a[N]; int i; for (i = 0; i < N; i++) a[i] = i + 100; for (i = 0; i < N; i++) printf("|%4d|%d|\n", a[i], a[i]); }
Lvの低い質問だと急に賑やかになるな。
>>482 >#define N
題意を汲んだら、最初のループは for (i = 100; i <= 199; ++i) { a[i - 100] = i; } だと思うのだけどね。 #define START_NUMBER 100 #define END_NUMBER 199 int a[END_NUMBER - START_NUMBER + 1]; for (i = START_NUMBER; i <= END_NUMBER; ++i) { a[i - START_NUMER] = i; } とすりゃ間違いないな。
485 :
デフォルトの名無しさん :04/12/02 10:53:09
#include <stdio.h> #include <stdlib.h> #define N int main(int argc, char **argv) { int a[N]; int i; for (i = 0; i < N; i++) a[i] = i + 100; for (i = 0; i < N; i++) printf("|%4d|%d|\n", a[i], a[i]); return EXIT_SUCCESS; }
486 :
デフォルトの名無しさん :04/12/02 10:54:19
> 題意を汲んだら、最初のループは いや逆だろ
487 :
デフォルトの名無しさん :04/12/02 10:55:10
値が抜けてるぞ! たしかに、課題だったら丁寧なほうがいいよな。 以下ので正解では? #include <stdio.h> #include <stdlib.h> #define N 100 int main(int argc, char **argv) { int a[N]; int i; for (i = 0; i < N; i++) a[i] = i + 100; for (i = 0; i < N; i++) printf("|%4d|%d|\n", a[i], a[i]); return EXIT_SUCCESS; }
>>465 long FileSize;
fseek(fp, 0, SEEK_END);
FileSize = ftell(fp);
>>488 数GBと言うことだけど、2GB超えたら?
Windows だったら GetFileSize() とか GetFileSizeEx() とか GetFileAttributeEx() とか。 UNIX 系だったら、488 の方法で ftell() のかわりに ftello() とか、 stat() して st_size とか。
VCなら _filelength, _stat ってのもある
494 :
デフォルトの名無しさん :04/12/02 16:19:58
で、10種類は?
495 :
ゆかこ :04/12/02 16:56:39
今度C言語の課題が出たのですがどうも自分の力ではできません。 よろしければ助言をいただきたいと思います。よろしくお願いします。 レポート課題 以下のようなゲームを作りなさい。 コンピュータが 0から 9までの数を 4つ, 順序付きで重複なく選ぶとする. プレイヤ(人間)は, この数列を当てるのだが, はずれた場合に提示されるヒントは次の通り. 正解の n番目の数を n番目に解答していれば, Hit と呼ぶ. Hit の個数がヒントとして提示される. 正解の n番目の数を m番目(n≠m)に解答していれば, Blow と呼ぶ. Blow の個数がヒントとして提示される. 実行例 5 6 7 8 Hit: 0, Blow: 3 7 8 9 0 Hit: 1, Blow: 1 1 2 3 6 Hit: 1, Blow: 0 9 8 5 6 Hit: 3, Blow: 0 0 8 5 6 Congratulations!
497 :
ぼるじょあ ◆yBEncckFOU :04/12/02 17:02:18
エェー あっちのスレで待っているYO!
ぼるじょあさん全然答えてないYO↓
>>488 これ使え
unsigned int filesizeget(unsigned int *GByte, FILE *fin)
{
unt Byte;
int ch;
if(GByte == NULL){
/*ファイルのサイズが1GBに満たない約束できる場合*/
for(;;){
for(Byte=0;Byte<0x40000000;Byte++){
if((ch=fgetc(fin)) == EOF){
return Byte;
}
}
}
}else{
*GByte = 0;
for(;;){
for(Byte=0;Byte<0x40000000;Byte++){
if((ch=fgetc(fin)) == EOF){
return Byte;
}
}
(*(GByte))++;
}
}
}
>>499 >488内のアンカーにある>465を読むことを思いつけませんでしたか?
typedef struct _node { char name[32]; char phone[16]; struct _node *next; }Node; Node *InsertNode(Node*,Node*); void main(void) { Node *p=NULL,q; while(1){ printf("名前:"); scanf("%s",q.name); if(strcmp(q.name,"end")==0) break; printf("電話番号:"); scanf("%s",q.phone); p=InsertNode(p,CreateNode(&q)); } return; } これと同じことを以下のdatファイルからfscanfを用いて読み込むにはどうすればいいのでしょうか? けいさつ 110 しょうぼう 119 じほう 117 てんき 116 FILE *fp; fp=fopen("data.dat","r"); while(1){ fscanf(fp,"%s",%s",q.name,q.phone); p=InsertNode(p,CreateNode(&q)); } では出来ませんでしたぁ~
不思議なとこにダブルクォーテーション入れますね君
#include "resource.h" これがあるときどう実行するんですか LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です Debug/memo01.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー
学校の先生に聞いてください。暗号文から解答を導くのが彼らの仕事です。
>>501 いつから天気予報は116になったんでしょうか
>>505 NTTが天気予報も始めたんですよ。ご存知ありませんか
なんか面白いスレだな~
不真面目なインターネッツですね
117 ぴっぴと鳴る 177 天気になれなれ
>>503 Windowsプログラムを作るオプションを書き足せ。
#include "resource.h"じゃなくてWinMainが原因だろ。
時間割を作成するプログラムってどんな感じで作ればいいですか? 空いているスケジュールを探して埋めていくと言う感じで
うぉ・・・何やってるんだ自分は
>>495 のやつをちょっと作ってみようと思って作り始めたらこんなにたってるし
作るべきプログラムそっちのけでorz
>>511 スケジュールが重複した場合はどうするの?
516 :
466 :04/12/02 21:58:47
皆さん、議論していただきありがとうございます。 あれから、色々考えてみて、動くソースを考えてみました。 #include<stdio.h> main(){ int a [100] = {100} ; int i; for(i=100;i<200;i++){ a[i] = i ; printf("書式なし:a[%d]%d\n",i,a[i]); printf("書式あり:a[%d]%4d\n",i,a[i]); } } こんなんじゃ駄目なんですかねぇ。 487さんの様に色々混ぜて使えると良いのですが、私にはまだ無理っぽいです。
>>516 int a[100];って宣言したのにa[i]、つまりa[100]~a[199]に書き込もうとしている。
本当に動いてる? for (i = 100; i < 200; i++) が必須だとしたら、 a[i-100] = i; でないといけません(もしくはa[200]と宣言するw)。
520 :
466 :04/12/02 22:11:03
実行してみたんですが、普通に動いてます。 a[100] に100を格納していて、for文からのiはi++によって a[101] = 101 ~ a[199] = 199 まで格納されるように考えたんですが・・・・・・。 って、a[100]からって意味不明ですね・・・・。 でも動くのは何故・・・・・?
破壊された領域を他の用途に使ってないからです。 再現性の低いバグに悩まされます。
523 :
デフォルトの名無しさん :04/12/02 22:21:49
>>511 科目(?)のデータのほうがどうなってるのかわからんしなー。
>>520 =466
#include <stdio.h>
int main()
{
int a[100], b[100], c[100];
int i;
for(i = 0; i < 100; i++)
a[i] = 1, c[i] = 3; /* aはすべて1, cはすべて3にする */
for(i = 100; i < 200; i++)
b[i] = 2;
for(i = 0; i < 100; i++)
printf("a[%d] = %d, c[%d] = %d\n", i, a[i], i, c[i]); /* aかcの値が... */
return 0;
}
ウジウジいつまでも残ってるのもあれだからサクっと使ってしまいたいが 電波でも来ない限りそうそう埋まるもんじゃないからなぁ
526 :
デフォルトの名無しさん :04/12/02 23:30:49
C言語で質問なのですが、少しわからない事があります。 背番号,打数,安打数を多数入力し、打率の最高の選手のみ 背番号,打数,安打数とともに打率を出力する(同一打率の選手はない) プログラムです。ストッパは背番号=-999,打数=安打数=0 ここまでは出来ました。しかしコンパイルがうまくいきません・・・。 指摘下さいますと助かります。 #include <stdio.h> int main(void) { int num,num1,dasuu,dasuu1,anda,anda1; double daritu,daritu1; daritu=0; daritu1=0; do{ printf("背番号を入力せよ\n"); scanf("%d",&num); printf("打数を入力せよ\n"); scanf("%d",&dasuu); printf("安打数を入力せよ\n"); scanf("%d",&anda); daritu=anda/dasuu; if (daritu1<daritu) { num1=num; dasuu1=dasuu; anda1=anda; daritu1=daritu; } }while(num!=-999 && dasuu!=0 && anda!=0); printf("%d %d %d %.3f",num1,dasuu1,anda1,daritu1); return(0); }
528 :
デフォルトの名無しさん :04/12/03 00:16:00
533 :
デフォルトの名無しさん :04/12/03 03:52:21
> 先にこのスレ使わないのか? あれはにせものだから削除だろ。
534 :
デフォルトの名無しさん :04/12/03 04:29:36
で、10種類は?
535 :
デフォルトの名無しさん :04/12/03 08:26:38
> ひとつのオブジェクトを2つに分裂させるコードを書きたいのですが、 fork() して exec()
536 :
デフォルトの名無しさん :04/12/03 08:58:09
で、10種類は?
537 :
デフォルトの名無しさん :04/12/03 10:07:21
ほんとにVC厨っているんだー
538 :
デフォルトの名無しさん :04/12/03 10:39:14
本に書いてある通りに打ったのですが、 #define iskanji(c) \ (0x81 <= (c & 0xff) && (c & 0xff) <= 0x9f || \ 0xe0 <= (c & 0xff) && (c & 0xff) <= 0xfc) この行でエラーになるんです。 なぜでしょう?
540 :
デフォルトの名無しさん :04/12/03 11:00:37
覚えてないけど、エラーが出るんです。 いま手元にないんで試せないけど...。
char型の変数の使いかたがいまいちわかりません。。。 教えてください。 (例)char型の変数bufに"あいう"を代入する。 char buf[7] = ""; char buf2[3] = "い"; buf = "あ" + buf2 + "う"; ポインタにポインタを加えられないということで これは無理ですよね。 strcpy(buf, "あ"); strcat(buf, buf2); strcat(buf, "う"); こうすれば buf に"あいう"が入りますよね。 他に簡単というか適切な方法はないのでしょうか?
542 :
デフォルトの名無しさん :04/12/03 12:20:10
> (例)char型の変数bufに"あいう"を代入する。 char型にひらがなは入りません。 asciiの文字コード表を見ること
543 :
デフォルトの名無しさん :04/12/03 12:35:09
>>541 sprintf( buf, "%s%s%s", "あ", buf2, "う" );
>>542 はい、確認してみます。
>>543 sprintfでできました。ありがとうございました。
>>544 sprintfでやると領域が破壊されてしまうのでしょうか?
>>545 bufのサイズより書き込む文字数が多いと領域破壊となる。
>sprintfでやると領域が破壊されてしまうのでしょうか? 出力文字数がバッファより多いときはな。 なので代わりに最大文字数を指定できるsnprintf使うとか sprintf(buf, "%.6s", "あいうえ"); として精度を指定したら確実
>>546 >>547 すごくわかりやすかったです。
説明ありがとうございました。
もう少し本を読んで勉強してみます。
549 :
デフォルトの名無しさん :04/12/03 14:50:58
printfのプロトタイプ宣言で↓な感じでした。 printf( const char *, ... ); "..."はどういう意味ですか?
可変引数
このスレ、面白くもなんともないな。
>>551 楽しくしてやるよ。
Windowsクライアントからソケットストリームで送られてくる
ASCIIコードデータをホスト用にEBCDICへ変換する汎用ルーチンを作成せよ。
なおバイトオーダーはスモールエンディアンとする。
開発環境はUNIX-Cな。 暇なんだろ。さっさと作れ。
554 :
549 :04/12/03 16:13:23
>>550 可変引数で検索したら出てきました。
有り難うございました。
ところで受け取った可変引数のパラメータをそのまま別の関数に渡す事は出来ないのでしょうか?
やりたいことは、あるマイコンのファームウェアなんですが、
printfする前に必ずあるレジスタの書き換えが必要です。
それを myprintfを作成してprintfの置き換えとして使用したいと思っています。
myprintf( 可変引数 )
{
レジスタの設定
printf( myprintfが受け取った可変引数をそのまま渡す )
レジスタの設定を元に戻す
}
ttp://www.geocities.jp/ky_webid/c/057ans.html の問題2の様にしても
良いのですが1文字毎にprintfを呼び出しているのでちょっと・・・
どなたかお知恵を貸してください。
>>556 変な人とつきあったらだめですよー にゃんにゃん
558 :
デフォルトの名無しさん :04/12/03 16:40:21
#include <stdio.h> #include <process.h> int main() { FILE *fp; char str[5]; fp=fopen("test.exe","r"); if (fp == NULL){ printf("eror"); exit(-1); } while (fscanf(fp,"%s",str) != EOF) printf(str); fclose(fp); exit(-1); //return -1; } としてexeファイルを読み込んで表示させるとMZPとなるのですが、なぜ全文を表示できないのでしょうか? テキストとかなら読み込めるのですが。
バイナリだろ
fscanfがそういう仕様になってるだけ
561 :
デフォルトの名無しさん :04/12/03 17:09:16
質問です ある計算を複数回行いたいのですがそれを繰り返し回数 ではなく、実行時間で決めたいのですがどのように すればよいのでしょうか?イメージとしては n=繰り返し回数 for(i=1;i<=n;i++){ ある計算 } をn=1分間という感じなのですが・・・よろしくお願いします
562 :
デフォルトの名無しさん :04/12/03 17:14:19
cat -n使っての、行番付サーバですが、 telnetで接続して、データおくっても、反応なしです。。 どこかで詰まってます。 おかしなところあったら教えてください。 fork()2回してます。 一回目は並行サーバのため、1回目はcat -nをexecuteするためです。 pipe2個つかって通信してます。
563 :
サーバ部 :04/12/03 17:14:54
while (1) { if (pipe(pipe1)<0)perror("pipe"); if (pipe(pipe2)<0)perror("pipe"); cfd=accept(lfd,(struct sockaddr*)NULL,NULL); printf("accept OK.\n"); if ((pid=fork()) < 0) { perror("fork");exit(1);} if (pid == 0) { /* cat -n */ close(lfd);close(cfd); printf("I'm cat -n\n"); if (dup2(pipe1[0],STDIN_FILENO)<0)perror("dup2"); close(pipe1[0]);close(pipe1[1]); if (dup2(pipe2[1],STDOUT_FILENO)<0)perror("dup2"); close(pipe2[1]);close(pipe2[0]); execlp("cat","cat","-n",(char*)NULL); perror("cat"); exit(1); } if ((pid2=fork()) < 0) { perror("fork2");exit(1);} if (pid2 == 0) { /* client processor */ close(lfd);
>>561 time_t StartTime = time(NULL);
while (difftime(StartTime, time(NULL)) < 60)
565 :
サーバ部2 :04/12/03 17:16:41
printf("I'm client processor\n"); close(pipe1[0]);close(pipe2[1]); nbytes=read(cfd,buf,sizeof(buf)); write(pipe1[1],buf,nbytes); nbytes=read(pipe2[0],buf,sizeof(buf)); write(cfd,buf,nbytes); while ((nbytes=read(cfd,buf,sizeof(buf))) > 0) write(pipe1[1],buf,nbytes); while ((nbytes=read(pipe2[0],buf,sizeof(buf))) > 0) write(cfd,buf,nbytes); exit(0); } close(cfd);close(pipe1[0]);close(pipe1[1]);close(pipe2[0]);close(pipe2[1]); printf("I'm parent\n"); for (i=0; i<2; i++) { while ((wr=wait(&status)) != pid && wr != pid2) ; /* do nothing */ printf("wait: status=%d\n",status); } }
566 :
訂正 :04/12/03 17:19:35
サーバ部2の nbytes=read(cfd,buf,sizeof(buf)); write(pipe1[1],buf,nbytes); nbytes=read(pipe2[0],buf,sizeof(buf)); write(cfd,buf,nbytes); は余分なのでcutです。
567 :
openGL初心者 :04/12/03 17:25:28
openGLを使ったプログラム作成を助けてください。Visual Cプログラムの関数void 図形(void)の部分なのですが、問題は以下の通りです。 「表面の座標(x,y,z)が下の左式、その点における法線nが下の右式で表される立体を描け。 ここで、θおよびφはそれぞれ0<=θ<=2πおよび-π/2<=φ<=π/2の範囲をとる媒介変数であって、定数hは0<=θ<πにおいて0.3、π<=θ<=2πにおいて2とする。 なお、法線ベクトルnは正規化されてないことに注意せよ。」という問題です。また描画要素としてGL_QUADS_STRIP(隣接四辺形)を使うことが条件です。 どなたか教えてくださいお願いします。尚、初心者なのでコードの説明をしていただけると幸いです。
>>567 > ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
あ~ マルチしちゃったよ~ だめだな、こりゃ。
可変長引数の関数が受け取った引数を、別の可変長引数関数に全部渡すのって、どうやるんでしょう。
572 :
デフォルトの名無しさん :04/12/03 17:41:31
>>564 ありがとうございました。さっそくやってみたところ
実行が終わりませんでした。
教えてくださったことを参考に調べてみて書き変えて
みたのですが
time_t StartTime = time(NULL);
(difftime(time(NULL) , StartTime) < 60)
ではないでしょうか?こっちでやってみたところ
うまくいった感じです。どうもありがとうございました。
>>571 無理、可変個引数をとる関数を作るときはva_listを受け取るバージョンも作っておけ。
お前が554なら
>>555 に答えは出ている。
574 :
デフォルトの名無しさん :04/12/03 18:28:07
スレ違いかもしれませんが Telnetを引数なしで起動したときのように ユーザーに入力させてそれを解析して実行する というUIって何か名前あるんですか?
対話型インターフェイス
577 :
デフォルトの名無しさん :04/12/03 22:27:42
>>559 >>560 #include <stdio.h>
#include <process.h>
int main()
{
FILE *fp;
char str[500];
fp=fopen("test.txt","rb+");
if (fp == NULL){
printf("eror");
exit(-1);
}
while (fgets(str,256,fp) != NULL)
printf("%s\n",str);
fclose(fp);
exit(-1);
//return -1;
}
なおしてみますた。
こうすると12fd98がずらっと表示されるのですが、なぜでしょう?
スルーする?
┌───────────────────┐ |致命的なエラー [×]| ├───────────────────┤ |質問者は致命的なエラーを抱えています。 .| | | |スルーしますか? | | [ はい(Y) ] [ いいえ(N) ] | └───────────────────┘
>>577 fgetsの代わりにfreadを使ってみたら?
ネタだろ
582 :
デフォルトの名無しさん :04/12/03 22:53:28
12fd98がずらっと表示されるのってなんでえTT
_,.. ----- 、_
,. ‐''´ `丶、
, '" _,. -―‐--、ヽ ヽ、
/ / ,. '´ ,. ---`,r=、 ヽ
,:' / // / i `丶、 ヽ
/ / / , ' / / l! 、ヽ ',
/ / / / ,イ / /|| ', ヽヽ !
! i l i / // /, ' l '、 ', ヽ', |
! | ! l| ! // ,ィ´∠∠',,,,,,,_', ヽ ヽ ',! |
! l !''7|!',´i`!/'//'´_,,......._ ヾ`ヽヽ l!| !
| ', !ノ''ラ∀、、 '´ ,r'''ラ""''ヽヽ、 ヾ、 リ / |
', ヽ{i {_)::::::i !_)::::::::!ヽヽ }__// !
', !ヾ、 !:::::::::} |::::::::::::} ノ、 !', ヽ !
', | | ! ゝ--' ゝ---'、 ノ l ノ ノ /
',', ',', // ,ィ´ /
',', ',丶、 r--、 /'  ̄/ {
',ヽ', `丶、 ` ´ _,.. ィ´'´ i ! ヽ
ノ ヽ | }`T;ーr '´ // /! ', '
┌/)/)/)/)/)/)/)/)/)/)l . . .l l:. l-、 . i. .i
|(/(/(/(/(/(/(/(/(/(/│. . | i:. l \ .:i
r'´ ̄ヽ. | | | .| i: .l \
/  ̄`ア
>>582 | | | /| i: .l 入
〉  ̄二). あなたは | | |./ .| i: |
〈! ,. -'. だあれ? | | ヽ,r| i. l---', '´ ',
| \| |
584 :
デフォルトの名無しさん :04/12/03 22:56:59
586 :
デフォルトの名無しさん :04/12/03 23:20:38
>>584 こんどは0012FD98が表示されました!
どうしましょう?
中身はexeのバイナリーなんですけど、同じ文字が表示されるの変じゃないですか?
#include <stdio.h> int main() { FILE *fp = fopen("rebuild.exe", "rb"); char str[512]; if (fp == NULL) { printf("error"); return 1; } while (fgets(str, 512, fp) != NULL) printf(str); fclose(fp); return 0; }
>>588 printfじゃなくてfputsだろ。
>573 そうか。ありがとう。C言語の範囲じゃできないわけだね。 va_listを引数にする関数を作りたいところなんだが、他人の作った関数を呼び出す必要が あるので、別の方法を考えてみるよ。(引数のパターンをある程度制限するとか、アセンブラ に挑戦してみるとか)
移植性や仕様として許されるかは別として、 ただ単に可変引数をそのまま渡すのなら、 例えば int型の変数a1,a2,a3,....a30を用意し、 それぞれにva_arg(int, an)で引数をコピーし、 original_printf(format, a1,a2,a3,...,a30); で呼び出すという手も 一応無くはないよ。
指定されたバイトに書き込むときってどうやるんですか?
>>592 そのバイトは誰だ?書き込むとは誰が何処に何を?時給は?
って、今思ったけど でかい構造体を引数扱いにすればいいな。 struct arg { char data[256]; }; struct arg *args; va_start(ap, fmt); args = &va_arg(ap, struct arg); org_func(fmt, *args); 構造体のサイズ分のコピーは起こるし 移植性の問題は全然解決しないけど。
>594 おお。これ面白いアイデアですね。 関数に渡したいデータはもともと別のデータ領域に入っているので、この方法は 使えそうです。 関数のパラメータのアラインを調べてみます。
そこまでして可変引数を使いたがる理由がわからん
引数がスタックに入ってることを理解してれば 可変だろうが簡単なのに
あたりまえのことを何偉そうに書き込むんだろうね。 スタックに入ってるものを、どうやってそのまま全部別の関数に渡すかって話なのに。
599 :
デフォルトの名無しさん :04/12/04 10:17:28
v([s,f])printfみたいのは用意されてないのか...
プログラムで疲れたろ /||ミ / ::::|| __ /:::::::::::|||W.C| |:::::::::::::::|| ̄ ̄|| |:::::::::::::::|| ガチャッ |:::::::::::::::|| || |:::::::::::::::||∧_∧ |:::::::::::::::||´・ω・`) お茶が入りましたよ・・・。 |:::::::::::::::|| o o旦~ |:::::::::::::::||―u' || \:::::::::::|| \ ::::|| \||彡
便所の水で煎れたお茶・・・
飲尿
604 :
デフォルトの名無しさん :04/12/04 14:15:18
> 引数がスタックに入ってることを理解してれば 引数がスタック上に置かれる保証などどこにもない。 むしろそうでない環境のほうがいまどき多い。
605 :
デフォルトの名無しさん :04/12/04 14:22:19
VCはスタックにおくだろ。 ここはVC厨ばかりだから、それでいいんだよ!
606 :
デフォルトの名無しさん :04/12/04 14:27:13
607 :
デフォルトの名無しさん :04/12/04 14:28:12
> X-Windowsがうごきません そんなものはこの世に存在しません。
まあ、可変引数に限れば ほぼ間違いなく、スタックにあると考えていいけどな。
決勝進出 日下部 陽一 沖縄
>>607 X-Window
>>602 は2ch初心者
玄人なら黄金茶と分かるはず
611 :
デフォルトの名無しさん :04/12/04 15:44:05
ニラ茶だろ
612 :
デフォルトの名無しさん :04/12/04 16:29:44
あんなところにお湯があることがおかしい!!
613 :
デフォルトの名無しさん :04/12/04 18:17:53
> X-Window そんなものも存在しません。
X-Widow
615 :
デフォルトの名無しさん :04/12/04 18:21:07
> まあ、可変引数に限れば > ほぼ間違いなく、スタックにあると考えていいけどな。 いいえ。たとえばVAXはあきらかにちがう。
616 :
デフォルトの名無しさん :04/12/04 18:21:14
617 :
デフォルトの名無しさん :04/12/04 18:24:40
> X-Widow うちのとなりのアパートに1人存在します。
>617 まだ若いのか?
>>618 甘いな。
X(ex)-widowとは元未亡人、再婚した人妻のことだぞ
おかまいなしかよ。
つーか未亡人より人妻の方が萌えるだろ?ふつう
ふつうって何だよ
ここは不倫なスレですね
625 :
デフォルトの名無しさん :04/12/04 19:31:14
「widow pointer検出」ってのが、 いま使ってる開発ツールにあるんだけど、 まちがって読んで「windows pointerって何?」とかいってるぼけがいました。
628 :
デフォルトの名無しさん :04/12/04 19:36:24
どこもさしていないポインターを動的にみつけるんです。
ポインタの参照先がdeleteされてるとかそんなのか。
630 :
デフォルトの名無しさん :04/12/04 19:39:34
Cなのでdeleteはありません。
freeか。
632 :
デフォルトの名無しさん :04/12/04 20:03:53
> NULLを勝手に#defineし直してるソースもよく見るから、そういうソースが軒並み通らなくなっちゃう そんなソースを通すことのほうが問題だ。
633 :
デフォルトの名無しさん :04/12/04 20:04:57
NULLは stdio.hに入っているべきでしょうか? stdlib.hに入っているべきでしょうか?
634 :
デフォルトの名無しさん :04/12/04 20:05:52
argv って、どうして const char **argv; じゃなくて char **argv; なんでしょうか?
635 :
デフォルトの名無しさん :04/12/04 20:15:36
>>538 行末のバックスラッシュの後ろに空白があったりしないか?
636 :
デフォルトの名無しさん :04/12/04 20:16:29
>>550 > 可変引数
そんなものはない。「個数」が可変なだけ。
637 :
デフォルトの名無しさん :04/12/04 20:18:08
> ASCIIコードデータをホスト用にEBCDICへ変換する汎用ルーチンを作成せよ。 > なおバイトオーダーはスモールエンディアンとする。 こいつぼけ そんなものはない > スモールエンディアン big-endianの反対語もしらんのか? そんなものはない > ASCIIコード ASCIIのCは何の略かもしらんのか? ぼけ
>>635 を見て思ったんだけど、改行コードがCR+LFだったらマクロ継続が失敗したりしないの?
(\CR)<-これは欠落 LF<-これは残って、通常の改行として処理、とか
639 :
デフォルトの名無しさん :04/12/04 20:19:19
>>635 それは先輩にも言われたのですが、
空白は入っていませんでした。
>>638 OSがWindowsならスルー
UNIXならエラーになる
641 :
デフォルトの名無しさん :04/12/04 20:24:50
OSはCygwinとかいうやつです
>>634 const char **argv;
ってどういう意味かわかる?
#define iskanji(c) \ ((0x81 <= (c & 0xff) && (c & 0xff) <= 0x9f) || \ (0xe0 <= (c & 0xff) && (c & 0xff) <= 0xfc))
unsigned char c; char c; どっちで宣言してるかによる。
645 :
デフォルトの名無しさん :04/12/04 20:37:36
*argv++ で順番に参照するため
>>645 だからなんで仕様がそうなってるのか聞いてるんだろ。
OSはCygwinとかいうやつです
相変わらず低脳age厨が住み着いてるな
650 :
デフォルトの名無しさん :04/12/04 20:58:31
>>646 こいつ ぼけ
char * const * a;
a++; //ok
(*a)++; //error
(**a)++; //ok
651 :
デフォルトの名無しさん :04/12/04 21:00:26
argvは変更可能だと仕様で決められているよ。
652 :
デフォルトの名無しさん :04/12/04 21:01:23
argv[0][0]='a';などとやってもよいということ。
>>652 ほほう。そしたら
argv[100][100]='a'; とやっても大丈夫なのか。
654 :
デフォルトの名無しさん :04/12/04 21:05:37
低脳sage厨登場
>>653 メモリ確保がなされているのであれば問題ないのでは?
>>656 メモリ確保って何?馬鹿で低脳な僕にもわかるように説明してちょ。
>>657 ごめんなさい。私も低脳なのでわかりません。
660 :
デフォルトの名無しさん :04/12/04 21:23:23
C++なんですが、なにかを0.5乗とか0.25乗の計算をする場合はどうすればいいのでしょうか?
661 :
デフォルトの名無しさん :04/12/04 21:23:50
pow
662 :
デフォルトの名無しさん :04/12/04 21:30:03
ありがとうございます
なんか途中(
>>623 あたり)から文字が太くなってるんですけど、
みなさんはどうですか?
スレ再取得汁
ブラウザの不具合でしょ。
667 :
デフォルトの名無しさん :04/12/04 23:57:05
で、10種類は?まだ一種類もあがってないぞ?
しつこい男は嫌いです。
ねちっこいセックスをする男の人は好きです。
670 :
デフォルトの名無しさん :04/12/05 01:16:47
671 :
デフォルトの名無しさん :04/12/05 01:22:18
>>670 10種類は? 早く言え。 お前は口を割るしかない。 これが何だかわかるか? 丁字油だ。 ドイツ軍が安価な鎮痛剤として使っていたこともある。 お前に使うかどうかはまだわからん。 とりあえず、10種類をまず言うんだ。 わかったな?
672 :
デフォルトの名無しさん :04/12/05 01:23:29
673 :
デフォルトの名無しさん :04/12/05 01:33:28
よーするに、しったかコイテ10種類と大風呂敷を広げただけか
674 :
デフォルトの名無しさん :04/12/05 01:36:41
何の話か分からんので遡ってみた
>>81 のことかな?
676 :
デフォルトの名無しさん :04/12/05 01:42:43
boolがどうたらこうたらのコンパイラが10種類挙げろってことらしい。
678 :
デフォルトの名無しさん :04/12/05 06:28:16
> *argv++ で順番に参照するため こいつぼけ だからchar ** const argv; じゃなくって const char **argv;だっていってるだろ
679 :
デフォルトの名無しさん :04/12/05 06:29:51
> OSがWindowsならスルー > UNIXならエラーになる こいつもぼけ。 たとえば改行コードが\r\nの組みでそのコードを書いてgccに通してみろよ。 LinuxでもFreeBSDでもノーエラーだぞ ぼけ
680 :
デフォルトの名無しさん :04/12/05 06:36:32
652,653はargvがchar型の2次元配列だと思い込んでいるぼけ。
681 :
デフォルトの名無しさん :04/12/05 06:38:10
↑しかたないだろ。VC厨が多いんだから。(おれはちがうが)
682 :
デフォルトの名無しさん :04/12/05 06:38:32
こいつもぼけだな。VCだってそんなコードは通らん。
683 :
デフォルトの名無しさん :04/12/05 06:46:02
あのね、Cってポインター変数に[]をつけてその参照先の内容にアクセスできるんだよ。
684 :
デフォルトの名無しさん :04/12/05 07:04:28
char型の2次元配列とcharのダブルポインタは違うだろ
char[][]とchar*[]が違うことは誰でも知ってるし 中身が違っていても同じ形式でアクセスできることも、殆どの人は知っている。
687 :
デフォルトの名無しさん :04/12/05 09:33:07
#include<stdio.h> int main(void){ int a[2]; int *p; int cnt; a[0]=1; a[1]=2; a[2]=3; *p=a; for(cnt=0; cnt<3; cnt++ ) { printf("Input data %d\n",*p[cnt]); } return 0; 上のプログラムをコンパイルしたらエラーが出ました。ポインターの部分というのは分かるのですが すいませんご指導お願いします。 ex.c:12: warning: assignment makes integer from pointer without a cast ex.c:16: invalid type argument of `unary *'
for (cnt = 0; cnt < 3; cnt++) { printf("Input data %d\n", p[cnt]); } 但しforのカウンタにはcntより i の方が一般的。
689 :
デフォルトの名無しさん :04/12/05 09:53:19
>>687 p[cnt] は *(p + cnt) と等価
君はそこへ更に * を追加している
690 :
デフォルトの名無しさん :04/12/05 10:39:06
>>687 int a[2]; で使えるのはa[0]とa[1]だけだぞ。
Cの仕様上エラーにはならないが。
エラーが出たらキャストすればおっけー。
692 :
デフォルトの名無しさん :04/12/05 13:01:09
693 :
デフォルトの名無しさん :04/12/05 15:01:29
> エラーが出たらキャストすればおっけー。 するなよ ぼけ
>>691 禿同
所詮やってることはメモリのバイトデータの読み書きだからな
695 :
デフォルトの名無しさん :04/12/05 15:04:24
ヘッダーの中とかに、関数のプロトタイプを書くときに、 「extern」ってつけると、何かいいことあるんですか?
おまじない
ない。 C++から呼ぶときはextern "C"必須だけど。
DLL作るときは書いておかないといけないとか どこかに書いてあったような希ガス
699 :
デフォルトの名無しさん :04/12/05 15:15:19
> DLL作るときは書いておかないといけないとか まったくのでま。こういうVC厨はおおぼけ
さっきからボケボケうるせー
701 :
デフォルトの名無しさん :04/12/05 15:29:34
うんうん。
702 :
デフォルトの名無しさん :04/12/05 15:35:09
> さっきからボケボケうるせー やーい ぼけ
704 :
デフォルトの名無しさん :04/12/05 15:44:25
あっちからコピペ char *m9['A'+1]; m9['A'] = "ソレダ";
705 :
デフォルトの名無しさん :04/12/05 16:18:19
VC厨だと2バイトめにバックスラッシュが入る心配をするかも ;-)
706 :
デフォルトの名無しさん :04/12/05 16:21:21
>>703 > 標準ではない新しい64ビット長の データ型long long
やーい > まちがい
>>706 あれはC99ができるよりも前に書かれているんだから当然だ。
long long って C 標準なんですか? __int64 は?
709 :
デフォルトの名無しさん :04/12/05 16:45:35
> long long って C 標準なんですか? あたりまえだろぼけ
710 :
デフォルトの名無しさん :04/12/05 16:46:11
> できるよりも前に書かれているんだから当然だ。 いや、当然ではない。 何度も改訂されているんだから、ここ5年も改訂がないのが問題なだけであり、 ちっとも「当然」ではない。
じゃ、鯖に入って書き換えてきてくださいね(^^
712 :
デフォルトの名無しさん :04/12/05 16:52:39
うんうん。
>>711 馬鹿だなぁ。
鯖の中の人に電話で頼めばいいだろ(^^
714 :
デフォルトの名無しさん :04/12/05 16:57:34
715 :
デフォルトの名無しさん :04/12/05 17:09:52
C++の「algorithm」にある、文字列の並び替え関数next_permutationって、 どういうアルゴリズムなんですか?普通のC言語のプログラムで書こうとしたらどうなるのでしょうか? javaで同じことをしたいんですけど、ヘッダファイルを見てもチンプンカンプン。
>>714 すいません、信用が無い人にはには無理でしたね(^_^;
にはには
>>715 C++かJavaの領域では?
Cは全く関係ないと思うんだけど。
719 :
デフォルトの名無しさん :04/12/05 17:39:06
Cでもできるって
720 :
デフォルトの名無しさん :04/12/05 17:39:46
関数内のローカルな変数に auto ってつけると、なにかいいことありますか?
ソースコードの文字数を稼げます。一杯ソースを書いた気になれます。
726 :
デフォルトの名無しさん :04/12/05 18:03:10
>>720 B の名残り
単項 + もそうだけど
まず使わないけど
なけりゃないで言語として美しくない
727 :
デフォルトの名無しさん :04/12/05 18:32:38
逆だろ? 単項の「+」がCに追加されたのはかなりあとだ (C89のころ)
728 :
デフォルトの名無しさん :04/12/05 18:40:07
>>727 そう言ったつもりはなかった
「もそう」は後続の形容にかけたつもりだったが
確かにワンパス的にパースすると
そのように解釈されやすい構文になっていた
729 :
デフォルトの名無しさん :04/12/05 18:44:54
われもこう
どっち道情報量0の駄レスだけどな
731 :
デフォルトの名無しさん :04/12/05 18:45:39
> そのように解釈されやすい構文になっていた いいわけになってない
732 :
デフォルトの名無しさん :04/12/05 18:46:09
2パスで読んでも3パスにしても意味かわらんぞ。ぼけ
顔パスでオーケーだ。
734 :
デフォルトの名無しさん :04/12/05 18:51:05
上げ足取りして楽しんでるところ悪いが、10種類のコンパイラはまだかね?
下げ足取りしてやる
738 :
デフォルトの名無しさん :04/12/05 19:19:09
一人芝居を見ている気分だ
741 :
デフォルトの名無しさん :04/12/05 20:17:46
742 :
デフォルトの名無しさん :04/12/05 22:51:34
10種類まだ~?無いならないと言え。粘着やめてやるから。 もっとも普通のコンパイラですら10種類もあげられていないがな
>>742 10種類もありませんでした。嘘つきました。ごめんなさい。
stdbool.h 使えるのはほんのわずかのコンパイラでした。 もうVC厨とか言うのやめます。ごめんなさい。
C言語には、数値を16進数文字に変換する関数はないのでしょうか?
sprintf
748 :
デフォルトの名無しさん :04/12/06 02:57:03
743、744は742が自分で言ってるのが明白
749 :
デフォルトの名無しさん :04/12/06 02:57:46
750 :
デフォルトの名無しさん :04/12/06 02:59:20
>>745 一桁ならこれで
char *hex = "0123456789abcdef";
printf("%c", hex[a]);
751 :
デフォルトの名無しさん :04/12/06 03:06:54
752 :
デフォルトの名無しさん :04/12/06 03:17:02
実際10種類どころかもっとあるのでは? なんで言わないんだろう? しったかぶりしてるというよりは、ひっぱりすぎなだけな気がする。
753 :
デフォルトの名無しさん :04/12/06 03:19:37
%ょりは%02xにしたいなあ > 0~255
754 :
デフォルトの名無しさん :04/12/06 03:21:15
粘着VC厨をひっかけてひっぱってるんだろうけど、 安物の釣り針だと、竿や糸より前に壊れちゃうよ。 もっとも重量級じゃなさそうだから平気なのかもsれんが。
あんたは特徴があり過ぎてつまんない
756 :
デフォルトの名無しさん :04/12/06 03:23:33
intじゃなくてunsigned intを使う利点を教えてください。
757 :
デフォルトの名無しさん :04/12/06 03:24:27
> 文字列の並び替え関数next_permutationって、 そんなものはない > 並び替え 「並べ換え」ならある。
758 :
デフォルトの名無しさん :04/12/06 03:27:37
voidの弟子だろ?
意外と少ないんじゃない? Turboとか古いのも入れてやっと10種類くらいかなぁ。
760 :
デフォルトの名無しさん :04/12/06 03:28:39
で、その人の名前ときどき出てくるんですが、 どんな人なんですか?
761 :
デフォルトの名無しさん :04/12/06 03:29:03
Turbo-CはC99なんかちっとも対応してないぞ。
まだ、だれもxxでstdboolは標準で使えるとは言ってないんだが名
764 :
デフォルトの名無しさん :04/12/06 03:30:13
VCと同じで99年より前に寿命が尽きたやつだから当然 > Turbo-CはC99なんかちっとも対応してない
C99に対応してないとCコンパイラじゃないとでも?
767 :
デフォルトの名無しさん :04/12/06 03:32:02
対応していないコンパイラーだったら10どころか50でも80でもあるだろうが ぼけ ちゃんとC99に対応している(少なくともstdbool.hのある)もののうち(たぶん20はないはず)、 10個名前言えるかどうか、っていう話だろ?
>>760 だからオマエは特徴有り過ぎなんだって。背中まで透け透け
>>767 また知ったかぶりして大風呂敷広げたな。80種類あげてみろや?
771 :
デフォルトの名無しさん :04/12/06 03:40:19
古いコンパイラーあわせて5つも言えないやつらって、 ...おまえら厨房すぎー
772 :
デフォルトの名無しさん :04/12/06 03:40:46
> そんな話しらねーよ。 知らないおまえがぼけなだけ
773 :
デフォルトの名無しさん :04/12/06 03:41:23
774 :
デフォルトの名無しさん :04/12/06 03:44:09
mainの前についてる人です。
775 :
デフォルトの名無しさん :04/12/06 03:55:22
寿命が尽きたプログラマー
777 :
デフォルトの名無しさん :04/12/06 04:02:49
いいなー
778 :
デフォルトの名無しさん :04/12/06 04:03:09
本業は何なんだろ
779 :
デフォルトの名無しさん :04/12/06 04:16:53
すみません。 プリプロセッサーの#ifのところで、sizeofって使えるのがふつうなんですか? 手元にあるいくつかのコンパイラーで、使えるやつと使えないやつがあって, どっちに合わせてかいておいたほうが今後のためかを知りたいのです。
>>779 使えないやつがあるのならつかわなきゃいいじゃん?
0x1234という数値があったときに、メモリー上では 0x34 0x12 という場合と、 0x12 0x34 という場合があるってききました。 それなら一通りの書き方で、メモリーにコピーしたメモリーの中身をintすることは できないのでしょうか。
コンピュータのレジスタやメモリの仕組みもだけど まずは日本語の勉強から。
>>782 リトルエンディアン、ビッグエンディアンでぐぐれ。
同じエンディアン方式ならそのまま扱える可能性が高い、
しかし異なるエンディアンなら変換する必要がある。
>>782 ついでに言うとintのビット長も環境依存。
変換ってどうやればいいんですか。 どんなとこでも大丈夫にできますか?
787 :
デフォルトの名無しさん :04/12/06 08:36:33
2バイトのintの順が、たとえばi = 1234; が 04 d2 になるのがビッグエンディアン d2 04 になるのがリトルエンディアンだというのはわかります。 でも、a = 12345678; の場合、 00 bc 61 4e がビッグエンディアン 4e 61 bc 00 がリトルエンディアンなのでしょうけど、 うちのマシンだと bc 00 4e 61 になるんです。 これは何エンディアンなのでしょうか?
>>787 リトルエンディアンとビックエンディアンを調べろ。
783のかた、「にコピー」が抜けてました。これでいいですか。 よろしければ内容にもおへんじください。
790 :
デフォルトの名無しさん :04/12/06 08:56:38
> リトルエンディアンとビックエンディアンを調べろ。 調べたけど乗ってないから聞いてるんです。 つまりあなたはわからないのですね?
なんだかえらそうですよ。分からないで聞いてるのでもっと謙虚にしましょうよ
793 :
デフォルトの名無しさん :04/12/06 09:20:53
791と792は実は788 (ってみりゃわかるか)
>>787 ちゃんと1バイトずつ見ているか? 2バイトずつ見てないよな?
もしかして、odのディフォルト出力そのまま見てるって落ち?
#或いは同様のツールで。
釣りだろ。787はスルー推奨
796 :
デフォルトの名無しさん :04/12/06 09:57:50
エンディアンごとき自学できない香具師がコンパイラをいじくろうとはな
>>746-750 ありがとうございました。画面に表示するのではなく文字列変数に代入したいので、
sprintfで出来ました。
>>796 ム板の約1/50はCスレで出来ています
htonl, ntohl
802 :
デフォルトの名無しさん :04/12/06 13:56:25
変数A(unsigned short型)に格納された値(400)を 変数B(BYTE型)に格納したいのですがどうすればいいのでしょうか?
BYTEは0..255しか格納できないぞ。 はみ出た分をどうしたいんだ。
まずは1byteが10bit以上な環境を探してきてください
「C言語なら俺俺に聞け! Part 87」に書き込んでしまった。。。 うかつだった・・・ マルチになってしまいますが、気を取り直して・・・ コーディングスタイルの話になると思いますが、 識別名にマルチバイトを使う事について 皆さんだったらどう思われますか? 例えば、 ある関数に定数を与えて処理したい場合、 move_command_set( COMMAND_右に動く, MOVE_STEP_1 ) move_command_set( COMMAND_左に動く, MOVE_STEP_1 ) とか・・・ さすがに、識別名すべてをマルチバイトにするつもりは無いんだけど、 日本人として生まれたからには、こういう書き方を「アリ」に していく流れって作れないかなーって思っているのですが・・・ 昔だったら、こういうことかなり抵抗があったんだけど、 もう今となってはいいかなぁーって感じになってます。
自分で流行らないし自分が関わるソースでもやって欲しくないけど 公開しないなら好きにしとけ。それからマナー・スタイルはスレ違い。
「C言語なら俺俺に聞け! Part 87」についたレスは無視ですか? そうですか
>>805 好きじゃないがローマ字を使われるよりはまだましだな。
電脳化したいんですがC言語で書けるでしょうか?
>>805 c99 では、そういう書き方アリだけどな。
英語を読み書きできない高卒PGには、
便利な気がするな
まぁ、あれだ、そういう機能を付けた外人は、
要求されてマルチバイトを使えるように
したんだろうから、使う分には問題ないん
じゃないか
文章を分かち書きしない日本語の利点が現れると言えなくもないな。 move on to leftをmoveOnToLeftと書くと違和感があるが、『左に動く』と書いても違和感は無いわけで。
まだMoveToLeftとかMoveLeftとかの方が...
>>805 ロシア人がその方針で書いたとして、
渡されたソースの識別子がロシア語だったらつらいな。
コメントや文字列はある程度仕方ないけど
識別子くらいは英語で書く。
DB3だったかそのクローンだったかの操作言語の著者で、 DBのフィールド名や変数名に漢字を使うことを否定してた人がいたなぁ。 そのソフトのマニュアルに書かれたサンプルは全て漢字名だったのだが。 その人の否定した理由として、誤変換に気を取られるのはプログラミングの過程においては 非能率的だというものだった気がする。 私はローマ字のほうがましだと思うが、ローマ字はローマ字で、綴り方が複数あるからそれも問題。
801のかた、htonlやntohlはネットワーク用に並べ替えるだけで 順番はきにしちゃいけないっていわれたんですけどつかっていいんですか。 あとintやlongでも使えますか。ひきすうがなんか違う、、、
805 です。
>>806 スレ違いすみません・・・
これ最後に消えます。
>>810 >>812 英語知らないやつだと、結構無理やりなんですよ・・・
>>808 >>815 チームでプログラム組んでいると、
関数の機能に該当する単語を辞書で無理やり調べました的な識別名を
使ってくるやつもいれば、ローマ字でヘボン式だかなんだか
わからない識別名を使うやつもいて、ムキーって感じなんですよ。
だから、この際マルチバイト使おう!なんて考えたのですが・・・
「C言語なら俺俺に聞け! Part 87」についたレスは無視ですか? そうですか
>>813 大文字を混ぜると何故か格調高く書きたくなるんだよ
>>811 わぁ、ごめんなさい。
煽りだと思った。
「ひまわり」知らなかった。
すげー、これすげーよ。
ぴゅー太みたい
でも、仕事には使えないやぁー
生越なんかは仕事でRuby使ってるらしいし、ひまわりで仕事してもいいんじゃないかなぁ
>>817 マルチバイトを使ったところで、そういういい加減な香具師は相変わらずいい加減なキーワードをつけるよ。
例えば、関数名で「マウスボタン欧化処理」とかね。
>>822 そいつはもう消えてる。しかもマルチで、その上スレ違い。
> スレ違いすみません・・・
> これ最後に消えます。
スレ違いでもないような気がするが、 一応C言語のことだしな。
825 :
デフォルトの名無しさん :04/12/06 20:37:02
warning: implicit declaration of function `E1' E1ってのは関数名なんですが、↑はどういったイミの警告なのでしょうか?
さぁ、この変な日本語から意味を推定してみよう。 答えは来週だよ!みんな見てね!
implicitのcit部分のみ訳 ♀を殴ると cit 頭が落ちたよ・・・
830 :
デフォルトの名無しさん :04/12/06 22:19:44
助けてください。 OSはUNIXでc言語でお願いします。期日は早めでお願いします。 1.c言語を用いてスロットマシーンをつくってください。 2.構造体利用を用いたプログラムをつくって下さい。 以上の二つです。
833 :
デフォルトの名無しさん :04/12/06 22:55:59
>>830 #include <stdio.h>
int main(void)
{
printf("ジャンジャンバリバリ~♪");
printf("チョリリリーン♪");
printf("わぁ。大当たりだ!");
return 0;
}
834 :
デフォルトの名無しさん :04/12/07 09:54:36
> 英語の文章に出現する単語の中で、文字数が最も多い単語を出力して終了するプログラムを作成せよ。 > 入力データには英文字、スペースのみが含まれているものとし、単語とはスペースで区英語の文章に出現する単語の中で、文字数が最も多い単語を出力して終了するプログラムを作成せよ。 課題出すやつのセンスが悪いな。通常は、 cat file1 file2 | tr -cs A-Za-z '\012' | sort | uniq -c | awk '{print length($2), $0}' | sort -nr とやるだけで出てくるんだから、そんなものをCでやらせるんんじゃね-よ! ぼけ
835 :
デフォルトの名無しさん :04/12/07 09:55:44
↑ もういっちょ「| head -1」も追加して欲しかったな
836 :
デフォルトの名無しさん :04/12/07 09:59:11
いや、おれなら cat file1 file2 | tr -cs A-Za-z '\012' | sort | uniq -c | awk '{print length($2), $0}' | sort -nr | head -1 | awk '{print $3}' だな。
837 :
デフォルトの名無しさん :04/12/07 09:59:50
VC厨には無縁
途中の sort | uniq はいらない気がする... あと、最大長のものは 1つとは限らないから head -1 は危険。
839 :
デフォルトの名無しさん :04/12/07 10:03:30
> 途中の sort | uniq はいらない気がする... 同じものをまとめたかったんだろ?
840 :
デフォルトの名無しさん :04/12/07 10:54:58
> 2. 構造体利用を用いたプログラムをつくって下さい。 main() { typedef struct { char kozo[256]; } KOZO; KOZO i; strlcpy(i.kozo, "こーぞー"),; printf("これはなんですか?\n"); printf("%sたい。\n", i.kozo); }
841 :
デフォルトの名無しさん :04/12/07 10:55:50
「じゃあこれは?」 「文字列ですたい。」
842 :
デフォルトの名無しさん :04/12/07 10:57:51
strlcpy
843 :
デフォルトの名無しさん :04/12/07 10:57:55
> c99 では、そういう書き方アリだけどな。 ねーよ いいかげんなウソつくな。
844 :
デフォルトの名無しさん :04/12/07 10:58:49
> strlcpy ふつうstrlcpyだね。(840のは引数たりんぞ!) strncpy使うやつはVC厨だ。
845 :
デフォルトの名無しさん :04/12/07 11:00:46
846 :
デフォルトの名無しさん :04/12/07 11:01:40
やーいstrlcpyもしらなかった842 !
847 :
デフォルトの名無しさん :04/12/07 11:02:06
いまどきstrlcpyは常識やね。
848 :
デフォルトの名無しさん :04/12/07 11:02:51
849 :
デフォルトの名無しさん :04/12/07 11:12:01
なんだいま検索したのかよ。
850 :
デフォルトの名無しさん :04/12/07 11:15:29
strlcpyの必要性が想像できないなんて、 VC厨が多いってのはほんとなんだな。ここ
>>834 おれならエクセルにはりつけて文字数出すけどな。
852 :
デフォルトの名無しさん :04/12/07 12:33:16
853 :
デフォルトの名無しさん :04/12/07 12:42:26
C99で、型のサイズを指定した変数を定義することができるようになったと 思うんですが、あれってどのヘッダファイルに書かれていましたっけ? C#でいう Int32 a; (aは符号付き32ビット) UInt32 b; (bは符号なし32ビット) みたいなことができたはず、ですが・・・
#include <stdio.h> main() { int i=0,tou; printf("購入する馬の頭数を入れてください"); scanf("%d",&tou); printf("%d頭連れてきました。\n"); /*←この部分*/ for(i=0; i<tou; i++){ printf("∈・^ミ\n",i); } } これで、「%d頭連れてきました」ってのが4247748頭になるんだけど、 なんでかなぁ(´・ω・`)
>>853 stdint.h
int32_tとかuint32_tとか
>>854 ネタ?
>4247748頭になるんだけど、なんでかなぁ
たまたま。
時と場合によって結果が変わるコードだな。
>851 ダサッ
>>856 ネタじゃないんだけど・・
scanfのときにどんな数字入れても、4247748頭ってなるんだけど
>>858 - printf("%d頭連れてきました。\n");
+ printf("%d頭連れてきました。\n", tou);
>>859 ありがとうございました。きちんと思った通りに動きました。
そして、レベルの低い質問ですいませんでした。( ;∀;)
1:#include <stdio.h> 2: 3:int fact(int n) 4:{ 5:int n1; 6:int fc; 7: 8:printf(">n %p %d\n", &n, n); 9:printf(">n1 %p %d\n", &n1, n1); 10:printf(">fc %p %d\n", &fc, fc); 11:printf("\n"); 12: 13:if(n == 1) 14:return 1; 15:n1 = fact(n - 1); 16:fc = n * n1; 17: 18:printf("<n %p %d\n", &n, n); 19:printf("<n1 %p %d\n", &n1, n1); 20:printf("<fc %p %d\n", &fc, fc); 21:printf("\n"); 22: 23:return fc; 24:} 25:main() 26:{ 27:printf("fact(4) = %d\n", fact(4)); 28:} 本にのってるプログラムなんですが、return1以降の動きがわかないんですよ、 return1の後は16行目以降が繰り返されているんですが、なんでなんでしょ? 本はそこらへんの解説は載ってないんで、誰か解説してください_| ̄|○
862 :
デフォルトの名無しさん :04/12/07 14:03:57
fopen()で開くファイル名を実行時に編集しているので グローバル変数(char*)に格納しています。 でもこのままじゃfopenに渡せませんよね? fopen(const char*,...)だから。 こういう場合どうやって書けばいいのでしょうか? アドバイスよろしくお願いします。
>>861 ・行番号は不要→コピペするときに邪魔。
・インデントはつけよう→主に括弧の対応付けなどが把握し難い。
・質問の意図が不明。
>>862 char* str;
fopen( (const char*)str, …);
865 :
デフォルトの名無しさん :04/12/07 14:10:55
866 :
デフォルトの名無しさん :04/12/07 14:14:25
867 :
862 :04/12/07 14:26:31
>>866 ネタじゃなくてまじめです…。
試行錯誤していろいろコード書いてコンパイルを繰り返しています。
#include <stdio.h>
#include <stdlib.h>
char *szFileName[MAX_PATH+1];
void putText(char *data)
{
FILE *fp;
fp = fopen(szFileName, "a"); ←エラー
if ( !fp ){
・・・・
}
main()でグローバル変数szFileNameへファイル名をセットしています。
main()からputTextをコールします。
短縮しましたがこんなところです・・・どなたか教えてください。
よろしくお願いします。
char *szFileName[MAX_PATH+1];
869 :
デフォルトの名無しさん :04/12/07 14:32:25
>>867 - char *szFileName[MAX_PATH+1];
+ char szFileName[MAX_PATH+1];
>>866 こいつぼけ
>>863 指摘サンキューです
return 1が動いたらmainのprintfに1を返してプログラムは終了すると思ってるんですが、
実際にはプログラムは終わらずにfcを返して終了するんですよ
そこんとこがわかんないんで教えて欲しいなーと思ってるんです
わかりにくくてすいません
>>871 15行目でfactを呼び出してるから。
具体的に処理の順番を書くと
1:mainでfuct(4)呼出
2:fact(4)の15行目でfact(3)呼出
3:fact(3)の15行目でfact(2)呼出
4:fact(2)の15行目でfact(1)呼出
5:fact(1)の14行目でreturn 1;になりfact(2)の16行目以降の処理へ(fcは2*1で2)
6:戻値2でfact(2)が終わり、fact(3)の16行目以降の処理へ(fcは2*3で6)
7:戻値6でfact(3)が終わり、fact(4)の16行目以降の処理へ(fcは6*4で24)
8:戻値24でfact(4)が終わるのでprintfで"fact(4) = 24"が出力される
分かりづらいなら15行目で関数呼び出しをやめて展開してみると吉
VCならF10でも押してろ
>>872 丁寧に手順まで書いてもらってありがとうございます
ピンとこないんで聞いておきたいんですが、
「展開」ってのは動かせってことですよね?
876 :
862 :04/12/07 17:22:09
>>868-870 ありがとうございました・・。
無事できました。もっと本を読んで勉強してきます・・。
878 :
デフォルトの名無しさん :04/12/08 01:05:51
あたまつれてきました!
879 :
デフォルトの名無しさん :04/12/08 09:25:42
> return 1が動いたら returnが「動く」わけではない。
880 :
デフォルトの名無しさん :04/12/08 09:31:33
こいつぼけ。kf7ち76き98;p-0p:おいf6ういdc6う7で6qw346えゆjyhgきjぉい;。vjkmtdcひゃ4s7うm6おl89
質問ですunsorted list(ソートされないリスト)で ┏━┳━┳━┳━┳━┳━┓ ┃10┃53┃24┃35┃ ┃ ┃ ┗━┻━┻━┻━┻━┻━┛ と配列が渡されたとき、「75」を挿入すると ┏━┳━┳━┳━┳━┳━┓ ┃10┃53┃24┃35┃75┃ ┃ ┗━┻━┻━┻━┻━┻━┛ となるので正しいですか?? また、 ┏━┳━┳━┳━┳━┳━┓ ┃10┃53┃24┃35┃ ┃ ┃ ┗━┻━┻━┻━┻━┻━┛ から53を削除した場合、リストはどの様に並びますか? よろしくおねがいしますm(_ _"m)
どんなソートだか分からないし 知障だとこんな問題も解けないのか? しかもスレ違いだし 頭悪いにも程がある
>>881 リストってリスト構造の事か?75を挿入する時だって先頭に挿入すれば
10の前に75が入るぞ。
そこら辺を詳しく説明しろ。問題があやふやだと解答も出せん。
要するに答えられないわけですね。 俺に聞けなんてスレだからマシかと思いましたが、 カキコした自分が馬鹿でした。 頼りにならない人しかいないなんて知らなかった。
>>881 マジレスするとスレ違い。宿題は宿題スレで。
>>881 ┏━┳━┳━┳━┳━┳━┓
┃10┃ ┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
すげー
>>885 > 自分が馬鹿でした
ここだけ読んで激しく同意した
892 :
デフォルトの名無しさん :04/12/08 23:03:56
881は沢山返事してもらって幸せな奴だな
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
と配列が渡されたとき、「75」を挿入すると
┏━┳━┳━┳━┳━┳━┓
┃75┃10┃53┃24┃35┃ ┃
┗━┻━┻━┻━┻━┻━┛
となる
あとは
>>888
895 :
デフォルトの名無しさん :04/12/09 09:55:06
int型の数値を16進にしてバイナリデータとして BYTE型変数に格納したいです。 BYTE buf[512]; buf[0] = 0xA3; buf[1] = 0xF2; ↑と書けばBYTE変数にバイナリデータを格納できると分かりました。 次にint型の数値を16進に変換してBYTE型変数に入れてみようと思い 詳しい方のホームページを見てやってみましたがうまくいきません。 どこが悪いか教えていただけませんか? 最終的にはint sizeに格納された450を バイナリデータ1C2に変換してBYTE buf[0]に格納したいです。 int size; size = 450; BYTE buf[512]; // size(450)を16進にしてszsize(1C2)に格納 char szsize[5]; wsprintf(szsize," %d ",size); // int → char const char *szbuf1; char *szbuf2 ; szBufSize1 = szsize; long lsize = strtol(szbuf1, &szbuf2, 0); // 10進→16進 itoa(lsize, szsize, 0x10); // ←szsizeにはちゃんと"1CA"と入ります // BYTE型変数に格納する buf[0] = strtol(szsize, NULL, 16); // ←bufに16進数が入りません・・・
/* buf[0]-buf[(sizeof(int)-1]にsizeの値を分解して格納(エンディアンに注意) */ memcpy((char *) & size, buf, sizeof(int)); /* bufにsizeの値を16進文字列として格納 */ sprintf(buf, "%0*x", sizeof(int) * 2, size);
>>896 memcpy(buf, (char *) & size, sizeof(int)-1);
sprintf(buf, "%0*x", sizeof(int) * 2, size);
早速ありがとうございます。
教えて頂いたようにやってみたら16進文字列をスムーズに取得できました。
しかし、BYTE型の変数にバイナリデータを格納できません・・。
charの16進文字列をバイナリデータに変換したいです・・・。
せっかく教えて頂いたのに説明が下手ですみません。
●結果は、こんな感じでバイナリデータを格納したいです。
BYTE buf[512];
buf[0] = 0x01;
buf[1] = 0xCA;
×文字列データが格納されると失敗です。
BYTE buf[512];
buf[0] = '0';
buf[1] = '1';
buf[2] = 'C';
buf[3] = 'A';
>>897 キミがしたいのは、単に↓のようなことかい?
buf[0] = size >> 8;
buf[1] = size & 0xff;
>>898 はい、教えてもらったように演算したら簡単にできました。
ありがとうございました。
それと追加質問で申し訳ないのですが
long型をBYTE配列にコピーする方法ってないのでしょうか?
_ltoaで文字列へ変換することはできました。
>>901 はい、試してうまくいきました。
コードは
>>898 のままでいけました。
>>900 unionを調べて使ってみたところ、
BYTE配列にあっさりlongデータが入りました。
以下のような感じです。
union u_tag{
long ss;
BYTE buf[4];
}uval;
union u_tag *ptr;
ptr = &uval;
uval.ss = 500;
// この時点でssに格納した500が
// 同じ共用体のBYTE配列bufにもコピーされている。
903 :
デフォルトの名無しさん :04/12/09 16:55:39
質問です。 キーボードの方向キーの入力を調べたいのですが 専用の関数等あるのでしょうか? Win32の GetKeyState() みたいな関数はありますか? また、現在 system("cls")で画面を更新するようにしているのですが 更新を連続的にしてしまうと、画面がちらついてしまいます。 これの回避策などもあればご教授ください。
904 :
デフォルトの名無しさん :04/12/09 17:02:07
additional storage 使わないでスワップするときって、int型ならXOR使ってっていうのは、 分かったんだけど、doubleとか char の場合ってどうするか分かりますか?
>>903 上・・・ありません。
下・・・ありません。
>>903 よく分からないけど
void clearScreen()
{
const HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(out, &csbi);
const COORD coset = { 0 };
DWORD written;
FillConsoleOutputCharacter(out, ' ', csbi.dwSize.X * csbi.dwSize.Y, coset, &written);
const WORD attribute = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE;
SetConsoleTextAttribute(out, attribute);
FillConsoleOutputAttribute(out, attribute, csbi.dwSize.X * csbi.dwSize.Y, coset, &written);
SetConsoleCursorPosition(out, coset);
}
こういうのもあるぞ
908 :
903 :04/12/09 17:27:29
>>905 そうですか。。
やはり、OSが提供するAPIを使うしかなさそうですね。
>>906 コードを書いて頂き、ありがとうございます。
しかし、そのコードでクリアしても、ちらついてしまうようです。。
やはり、完全にちらつきを取るには
ビデオメモリを制御するしかないでしょうね。。
とりあえず、これは諦めます(笑)
キーボードで数値を入力したとき特定範囲以外の数字が入力されたとき エラーメッセージを出すようにしたいのですがどうすれば良いでしょう
>>908 #define MIN 0
#define MAX 10
int n;
scanf("%d", &n);
if(n < MIN || n > MAX) fprintf(stderr, "error!\n");
ありがとう
EBCDIC←→ASCII コード変換サンプル 掲載サイト 目にも止まらぬ速さで教えて下さい
EBCDIC ASCII 変換 ソース の検索結果 約 1,210 件中 1 - 10 件目 (0.81 秒) 0.81秒では不満か?
うちは0.37秒だった。
Akamaiパワーだな
>>902 >907 も書いてるが
long n;
BYTE buf[4]; // longは4バイトであるとする
buf[0]=*((BYTE *)&n);
buf[1]=*((BYTE *)&n +1);
buf[2]=*((BYTE *)&n +2);
buf[3]=*((BYTE *)&n +3);
とかでよい? エンディアンってわかる?
main関数の戻り値って必要なんですか?
はい。
いいえ。
はい。
ぬる
>>924 すみませんが、真面目に教えてください
理由は何ですか?
int main←必要 void main←不要
>>927 void mainなんて物の事なんて聞いてないんですが…
あなたは>922なんですか?別の人なら邪魔をしないでいただきたいです
⊂_ヽ、
.\\ /⌒\
\ ( 冫、)ウンチになぁれ
> ` ⌒ヽ
/ へ \
/ / \\
レ ノ ヽ_つ
/ / ・*.・:
/ /| :。 *.・
( ( 、 ★。:’*
| |、 \ 。・.*・; ・
| / \ ⌒l ;* ・。;*★ 人・
| | ) / ・ ★・ (_ );; * 。・
ノ ) し' ・ * (__) * ・。・
(_/ 。*.;; ・ (
>>928 ) ★.* ’★
931 :
デフォルトの名無しさん :04/12/10 08:51:36
intのサイズって環境依存なんですよね? 実際にサイズが決まるのは、実行時なんですか? それともコンパイル時なんですか?
コンパイル時。 それと環境というより処理系による。
>>907 >>919 はい。上位/下位のことですよね?
Intel系使っていますので私の環境ではリトルエンディアンです。
long n;
n=416;
BYTE buf[4];
buf[0]=*((BYTE *)&n);
buf[1]=*((BYTE *)&n +1);
buf[2]=*((BYTE *)&n +2);
buf[3]=*((BYTE *)&n +3);
ビッグエンディアンではbuf[2][3]に160と1がはいって
リトルエンディアンではbuf[0][1]に160と1がはいるってことですよね。
エンディアンは知っていましたがBYTE配列へのlongのキャスト方法
分かっていませんでした。教えてくださってありがとうございました。
どうやってやるのかWebを見たのですが読んでも理解できなかったので
とても助かりました。本当に感謝です。
934 :
931 :04/12/10 09:11:31
>>932 あ~そうですか、よかった。
intが32bit環境で作成したバイナリを、64bit環境で動作させても
32bitで処理されるんですよね?
>>933 union {
long l;
unsigned char c[sizeof(long)];
} u;
u.l = 416;
long l = 416;
unsigned char c[sizeof(l)];
memcpy(c, (char *) & l, sizeof(l));
>>934 そういうこと。だからintが16ビットのLSI-Cなら仮令64ビット環境でもintでは32767までしかカウントできない。
宿題スレよりレベル低いな
1つのプログラムを実行したとき、 そのメモリの使用容量はどう計算ししますか?
>>937 それは、OSのAPIで取得するしかないのでは?
何の環境か知らんけど、WinNT系のOSの場合だと、それ関係の隠しAPIがあった筈。
公開されてるよ
struct test{ string aaa; }; test *pstr; pstr->aaa = "ABC"; ポインタについて教えてください。 文字列"ABC"を代入するにはどう書けばいいですか?
>>940 激しくCじゃない気がするが
test *pstr = new test;
pstr->aaa = "ABC";
940です。 すみません。ポインタはCじゃなかったんですね。 でもありがとうございました。
>>942 ポインタがCじゃないんじゃなくて、
stringがC++のstd::stringじゃないかって話かと
940です。何度も教えてもらってすみません。
マンデルブロー集合の計算と結果を画像で出力するプログラムを作ってみたいんですが 参考になるサイトとかありましたら教えてください。 考え方としては 計算した回数を2次元配列に入れて 0 0 0 20 0 0 0 20 50 20 0 20 50 50 50 0 0 20 50 20 0 0 0 20 0 こんな感じにして回数に応じて色をつけるようにすればいいんですよね?
ところで10種類君、最近みかけないね。 また暴れてほしいよ。
そろそろ来るよ
で、10種類は?もう1週間は経ったな?
>>945 こんなの見つけた。
ttp://yokohama.cool.ne.jp/yew/bbs/58.html ----cut here--------cut here--------cut here--------cut here----
For all you C programmers out there, try this:
main(){char *b=" .:-;!/>)|&IH%*#";float i,j,k,r,x,y=-16;while
(puts(""),y++<15)for(x=0;x++<84;putchar(b[(int)k&15]))for(i=k
=r=0;j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
----cut here--------cut here--------cut here--------cut here----
951 :
デフォルトの名無しさん :04/12/11 02:02:31
なにそれ。
952 :
デフォルトの名無しさん :04/12/11 11:38:38
かてぃ~
954 :
デフォルトの名無しさん :04/12/11 12:22:09
955 :
デフォルトの名無しさん :04/12/11 12:27:44
この Part 96 の 1書いたやつ! だれだかしらんが、97のときは、ちゃんとエンティティーの160番つかえよ! 俺はスレッドたてられんからやらんけど。
じゃ、次スレはPart96 Rev.2ということで
905 :デフォルトの名無しさん :04/12/10 23:47:28
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
hドライブの○○フォルダのint型の複数データが格納されたバイナリファイルを使って
|給 与|一万円|五千円|千 円|五百円|百 円|五十円|十 円|五 円|一 円|
--+------+------+------+------+------+------+------+------+------+------|
1|423251| 42| | 3| | 2| 1| | | 1|
2|498225| 49| 1| 3| | 2| | 2| 1| |
3|316482| 31| 1| 1| 1| 4| 1| 3| | 2|
--+------+------+------+------+------+------+------+------+------+------|
合 計 | 122| 2| 7| 1| 8| 2| 5| 1| 3|
という表を作らなければならないみたいです。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ(バージョン):.NET2002
[3.3] 言語:C++
[4] 期限:2004年12月11日12:30まで
[5] その他の制限:無し
どなたかよろしくお願いします!!
940 :デフォルトの名無しさん :04/12/11 10:17:53
>>939 そのファイルにはどのようにデータが入っているんだ?
943 :939 :04/12/11 10:30:50
>>942 ファイル学校行かないとないんです…。形だけでもどうにかなりませんか?
944 :デフォルトの名無しさん :04/12/11 10:36:09
>>943 いつまでもフザケた事言ってんじゃねえよ
945 :デフォルトの名無しさん :04/12/11 11:44:38
ファイル学校ってどんな学校や
…とか一瞬考えたのは秘密
946 :906 :04/12/11 12:21:30
あわれ905楽しようとしたばっかりに
寝坊した漏れに笑いのネタを提供してくれた。
いや、7時には起きたんだけどね。
>>905 のレスを見ても仕様がよく分からんから
二度寝したんだよね。
別に学校の宿題くらい納期過ぎたって問題ないっしょ
自分でガン( ゚д゚)ガレ
960 :
デフォルトの名無しさん :04/12/11 14:48:05
> じゃ、次スレはPart96 Rev.2 いや、どうかんがえても97だ。
961 :
デフォルトの名無しさん :04/12/11 14:58:42
> いや、どうかんがえても97だ。 ということにしたいのですね?
933 :初心者A :04/12/10 23:02:04
#include<stdio.h>
int main(void){
int a;
a = 1;
printf("number%d\n , 0");
} return 0;
参考書見ずに書いてみました。もしかしたらどこか違うカモ…
まず1歩目です!
940 :デフォルトの名無しさん :04/12/11 13:06:10
>>933 int a;
a = 1;
は int a = 1;
とまとめられる。
のはいいんだがaは何に使ってるんだ?
941 :デフォルトの名無しさん :04/12/11 13:26:35
>printf("number%d\n , 0");
そもそも number%d\n , 0 って表示させてどうするw
942 :デフォルトの名無しさん :04/12/11 13:31:33
>%d
...何が表示されるんだろう
943 :デフォルトの名無しさん :04/12/11 14:31:43
>>941 「returnの場所がおかしい」と、一番の餌で釣れない933て一体。。。
963 :
デフォルトの名無しさん :04/12/11 15:41:14
96のつぎだから97だろ?
87と95が2本あったから次は99じゃないかな
つぎはMEとかXPとかにしよう
966 :
デフォルトの名無しさん :04/12/11 16:02:21
Windowsプラグラムでもいいですが、シングルクリックで起動する .exe を作るにはどうすればいいのでしょう?
ダブルクリックで起動する環境で一つだけシングルクリックで起動するexeは 無理なのでしょうか
969 :
デフォルトの名無しさん :04/12/11 16:22:15
>>968 クリックを検出したら起動すればいいのでは?
その核となる部分はいかに書いたらいいか、ヒントだけでも良いんで 教えて欲しいです・・・
シェルエクステンション
ありがとうございました。 とりあえず、現段階の僕では無理だと悟りました。
EXPLORER.EXEに与えるマウス・メッセージを、ラッパーを被せて 横取りする考え方なんかな。。。サブクラス化か。
ダブルクリックせずに起動するウィルスでも書きたいんだろ
976 :
デフォルトの名無しさん :04/12/11 22:31:46
教えてください。 入力した文字列を格納した配列のポインタを戻したいんですけど、警告がでました。 警告1:プロトタイプ宣言のない関数'input'の呼び出し。(関数 main) 警告2:コードは効果をもたない。(関数 main) 警告3:問題のあるポインタの変換。(関数 input) ソース↓ #include <stdio.h> #define MAX 256 char *input(); void main() { *input(); } char *input() { char s[MAX]; printf("COMMAND:"); scanf("%s", s); return s; }
#include <stdio.h> #define MAX 256 char *input(void); void main(void) { char *p=input(); } char *input(void) { static char s[MAX]; printf("COMMAND:"); scanf("%s", s); return s; }
973 :デフォルトの名無しさん :04/12/11 22:30:58
>>972 つ、釣られないぞ…
974 :デフォルトの名無しさん :04/12/11 22:31:16
>>972 マルチポストするな消えろ
975 :デフォルトの名無しさん :04/12/11 22:31:56
>>972 char *input()はですねー、char*型の返り値を返す、inputという関数の定義なんですよー にゃんにゃん
977 :973 :04/12/11 22:33:21
>>972 お前が言いたいだろうことを最大限考慮してやった↓。
これがしたいんだろ?
#include <stdio.h>
#define MAX 256
char *input();
void main()
{
char* p;
p = input();
printf("%s\n", p);
}
char *input()
{
static char s[MAX];
printf("COMMAND:");
scanf("%s", s);
return s;
}
949 :デフォルトの名無しさん :04/12/11 21:42:51 初心者です。 参考書によって void main() と書いてあるものと int main() と書いてあるものの2種類ありますよね。 intにしてreturnしても、どこにも使われてないし プログラムも問題なく動くので 全部voidでいいと思うんですが。 voidにしてはいけない理由でもあるのでしょうか。
で、10種類マダー、チンチン
983 :
デフォルトの名無しさん :04/12/11 22:58:24
>>980 voidで書いてはいけないとはどこにも書いていない
と言い張る馬鹿はいますけど、int型にしておいて困る理由は何もないですね。
>>983 LinuxやWindowsなどの上でのアプケーションではそうですねー^^ にゃんにゃん
せめてこのスレまでで終わりにしてね。 いくら週末っていっても 埋め立てように投下したネタに対して 反応がよすぎるから。
>>980 自分しか使わないならvoidでもかまわんけど
他人も使う場合はちゃんと作った方がいいと思う。
使い道がないなんて勝手に思い込まないように
987 :
デフォルトの名無しさん :04/12/11 23:05:46
>>983 言い張ったら馬鹿とは、どこに書いてあったんだ?
>>983 で、規格で決まってるというのどうなったんだよ?
半可通あばれまくりープ
ちょっとまてオレはあばれてないぞ
991 :
デフォルトの名無しさん :04/12/11 23:08:55
voidで書くなとはどこにも書いていない=voidで書いてもいいじゃない この理屈がまかりとおるならshortでもdoubleでもstruct hogeでも 好きな型でreturnすればいいじゃない
992 :
デフォルトの名無しさん :04/12/11 23:09:43
>>991 だから、そうだよ
規格票を持っている者の発言には到底見えない
その通り、処理系が認めていればなんでもいい。 ただし、コードの可搬性はなくなる。
994 :
デフォルトの名無しさん :04/12/11 23:11:27
>>993 可搬性をどの程度持たせるべきかとは、全く別な議論だな
995 :
デフォルトの名無しさん :04/12/11 23:12:22
> ただし、コードの可搬性はなくなる。 平気な感じでいう当たり、馬鹿だな。
>>994 その通り。個人だったら個人で、団体なら団体で勝手に決めればいい。
ISO/IEC 9899:1999
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
>>980 他
JIS X3010:2003(いわゆるC99)ではこういう風に書いてある。(ISO/ANSIも同じだろう)
5.1.2.2 ホスト環境
5.1.2.2.1 プログラム開始処理
プログラム開始時に呼ばれる関数はmainとする。
処理系はこの関数に対してプロトタイプを宣言しない。
この関数は次の4種類の方法のいずれかで定義しなければならない。
1. int main(void);
2. int main(int argc, char *argv[]);
3. 上記2つの方法のいずれかと等価なもの。
4. 処理系定義
ちなみに5.1.2.1でフリースタンディング環境の場合プログラム開始時に呼ばれる関数は(戻り値の型・引数含め)処理系定義と書いてある。
998 :
デフォルトの名無しさん :04/12/11 23:13:03
>intにしてreturnしても、どこにも使われてないし プログラム作る前にパソコンの使い方ぐらい勉強しろよ
999
また1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。