トップページ⇒tech
1001コメント297KB

C言語なら、俺に聞け! <7>

レス数が1000を超えています。これ以上書き込みはできません。
0001sageジョブスNGNG
おれは21才、9年間プログラムを一生懸命作ってきた。
あちこちの言語に手を出したが結局極めたのはC言語だけだった。
大体のことなら分かるからオレに聞け。

だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。

・comp.lang.c Frequently Asked Questions
http://www.eskimo.com/~scs/C-faq/top.html

・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html

・前スレ C言語なら、オレに聞け! <6>
http://piza2.2ch.net/test/read.cgi/tech/999617524/
0951最大公約数の人NGNG
一応こんな感じでいいんですか?答えは191になったのですが・・・。
#include <stdio.h>
#include <stdlib.h>
void main()
{
int k,gcd;

for(k=1;k<5539;k++)
if((5539%k==0)&&(24639%k==0))gcd=k;
printf("%d",gcd);
}

「int m, k, gcd;」を最初に書くとなにやらエラーが出るので「void main()」
にしたんですが、どこかおかしいですか?
0952939NGNG
readlineのサンプルソースコードをぉぉ
0953デフォルトの名無しさんNGNG
>>951
間違い最後の奴で
「int m, k, gcd;」は「int gcd(int x, int y)」
0954デフォルトの名無しさんNGNG
24634じゃなかったのか???
0955デフォルトの名無しさんNGNG
>>939
ttp://php3.de/manual/ja/ref.readline.php
0956955NGNG
あ、まちがえた・・・
0957公約数のひとNGNG
>>954
間違えた。
「#include <stdlib.h>」もいらないね
はずかしので自ら晒しage
0958デフォルトの名無しさんNGNG
>>951, >>953
void main() を int gcd() にしてたってこと?
ソース中にmainがないと、プログラムをどこからはじめたらいいのか分からないので
エラーで怒られたということね。
0959デフォルトの名無しさんNGNG
void func(int a)
{
 int b[]={a,a,a,1};
}
ってCでも出来たっけ?
0960デフォルトの名無しさん NGNG
gccてSIFTJISで書けないの?エスケープ出来ないし 
ダサっ! ププププ
0961デフォルトの名無しさんNGNG
すいません真出来ます 
0962デフォルトの名無しさんNGNG
>>959
できる。

ところで<8>は?
0963デフォルトの名無しさんNGNG
VC++ってEUCで書ける?
0964デフォルトの名無しさんNGNG
EUCはSJISとちがってまだまともなコードだから大丈夫じゃない?
メッセージは滅茶苦茶になるだろうがコンパイルくらいなら
問題ないだろう。

シフトジスが通らないのはそれだけシフトジスの設計が
滅茶苦茶だってことなんだけどな。
0965公約数のモノNGNG
>>958
その通りです

教えてくれた人ありがとう御座います
0966デフォルトの名無しさんNGNG
>>964
そうとも限らんのじゃないか?
"\xa1\xe0\\" \xa0は0xa0そのままとして
EUCだと"÷\\"と正しい文字列になるが、
SJISだと"。濬\"と閉じていない文字列になってしまう。
0967デフォルトの名無しさんNGNG
>>960 勘違いする人がいると困るからマジレスしとくと、gccでもShift_JIS使
えるよ。configureに--enable-c-mbcharを付けてmakeし、環境変数LANGに
C-SJISを設定しておけばいい。

>>966 VC++でEUCをコンパイルするには、Windowsのロケールを英語等のシング
ルバイト圏にすれば大丈夫だったはず。
0968デフォルトの名無しさんNGNG
でも--enable-c-mbcharってかなりバグってるって話だけど。

うーん、そうか。しかしWindowsのロケールってすぐに変えられるもんだったっけ。
0969デフォルトの名無しさんNGNG
>>968
> でも--enable-c-mbcharってかなりバグってるって話だけど。
wchar_t *ws = L"漢字" みたいなのはあやしいけど、文字列リテラルの中に
"表示" って入れるくらいなら大丈夫。

> うーん、そうか。しかしWindowsのロケールってすぐに変えられるもんだったっけ。
Windows 2000ならコントロールパネル→地域のオプション→全般タブ→ロケール
で変えられるよ。
コマンドプロンプトからchcp 437して実行しても大丈夫かも。
0970デフォルトの名無しさんNGNG
みんなはreadline使わないのですか?あんなに便利そうなのに・・・・・
0971デフォルトの名無しさんNGNG
>>969
> Windows 2000ならコントロールパネル→地域のオプション→全般タブ→ロケール
> で変えられるよ。
> コマンドプロンプトからchcp 437して実行しても大丈夫かも。
それでVCって対応する?
0972969==967NGNG
>>971 たしか、VC++は大丈夫だったと思うのよ。今手元に環境がないから、
誰か試してみてくれ。記憶違いだったらスマソ。
0973デフォルトの名無しさんNGNG
GNUのreadlineは駄目なんですか?興味ないんですか?
0974DOKEYNGNG
10万までの素数の表を求めかつ1から100、101から200......
99901から100000それぞれにいくつずつ素数があるか数える
Cプログラムを教えてください
0975デフォルトの名無しさんNGNG
宿題丸投げは別スレだバカ
0976凡才ハカーNGNG
新スレ
http://pc.2ch.net/test/read.cgi/tech/1005811510/l50
0977DOKEYNGNG
これはどう?
#include <stdio.h>
#define YES 1
#define NO 0
#define MAX 10000
#define BOXNUM 100 /* BOXNUM= MAX/100 */

int isprime(int n);

main()
{
int i, j, k;

int box[BOXNUM];
for (j = 0; j < BOXNUM ; j++) box[j] = 0;

printf("2 "); /* 2 is prime */
box[0] = 1;

for (i = 3; i < MAX; i = i + 2) { /* check only odd numbers */
if (isprime(i) == YES){
printf("%d ", i);
box[i/100]++;
}
}
printf("End.\n");

for (k = 0; k < BOXNUM; k++)
printf("box%d: %d\n", k, box[k]);
}

/* n is prime? */
int isprime(int n)
{
int i;

for (i = 3; i < n; i = i+2){ /* devide n by odd number < n */
if (n % i == 0) return NO;
}
return YES;
}
0978デフォルトの名無しさんNGNG
以下の関数がよくわからないんですが、どういう意味なんでしょうか?
malloc
free
isprint
strcmp
exit
ちょっと多いですが、誰か教えてください。
0979Kusakabe YouichiNGNG
>>978: デフォルトの名無しさん wrote:
> 以下の関数がよくわからないんですが、どういう意味なんでしょうか?

マニュアル見ればいいのでは?
どうしてもマニュアル見ちゃいけないというおばあちゃんの遺言とかだったら、
べつの本でもいいけど。

たとえばある入門書では、

> malloc()
178ペイジにでています。

> free()
178 ペイジにでています。

> strcmp()
105 ペイジにでています。

> exit()
66、77ペイジにでています。
0980ひよこ名無しさんNGNG
>>978
宿題か?自分で調べろ。
malloc()free():メモリ関連
isprint():文字種別判別関連
exit():標準ライブラリ関数
0981犬NGNG
コマンドラインパラメータとオプションフラグって何?
0982ひよこ名無しさんNGNG
>>977さん。最高です。フェイントっぷりがこにくいです。一生付いていきたいです。
0983978ですNGNG
>>979
その入門書って何の本でしょうか・・・?
0984Kusakabe YouichiNGNG
>>981
>981: 犬 wrote:
> コマンドラインパラメータとオプションフラグって何?

コマンドラインパラメーターってのはコマンドラインのパラメーター
コマンドラインってのはたいした意味はなくて、
コマンドをキーボードから打ち込むタイプの環境で
foo abc def ...
みたいに打つ場合、一番最初がコマンド名である場合が多いので、
2つめ以降のがパラメーターだったりするわけです。
で、そのパラメーターのことを「コマンドラインパラメーター」という
とかその程度の意味です。

41ペイジに説明がありますね > コマンドライン

オプションスイッチ、オプションフラグなどは同様に102ペイジに解説が
ありますね。
0985デフォルトの名無しさんNGNG
>>983
「作ってわかる
Cプログラミング」
http://dennou.gihyo.co.jp/books/void_c/

宣伝うぜ!
0986978ですNGNG
>>985
ってことは、その本を見れば>>979の内容がわかるんですね?
見てみようかな・・・?
そもそもC言語の本って多すぎて、どれがいいかわかんない!!
0987デフォルトの名無しさんNGNG
一冊お買い上げ!
0988Kusakabe YouichiNGNG
>>986: 978です wrote:
> そもそもC言語の本って多すぎて、どれがいいかわかんない!!

そもそも「C言語」の本を探すより「C」の本を探すほうが
いい本に当たる確率がぐっと高まりますよ。
0989986ですNGNG
>>988
C言語とCって違うんですか?
0990Kusakabe YouichiNGNG
>>989: 986です wrote:
> C言語とCって違うんですか?

同じものを意味するんですが、
言い方がちがうわけです。

Fortran言語とかPascal言語とかC++言語とか書いてある本が
お薦めじゃないのと同じです。
0991986ですNGNG
>>990
なにか、おすすめの本はありますか?
0992Kusakabe YouichiNGNG
>>991: 986です wrote:
> なにか、おすすめの本はありますか?

Cの本で「売れている順」のリストだったら、べつの場所に書いてありましたよ。
0993991ですNGNG
>>992
そうなんですか。なら見てみようと思います・・・ ってどこになるんでしょう・・・
0994デフォルトの名無しさんNGNG
>>991
林晴彦さんの本が評判良いようですよ。
0995デフォルトの名無しさんNGNG
目的によって薦める本が違ってきそう。
仕事で使うCなら少なくとも
www.hir-net.com/book/book19/index.html
みたいなANSIの規格書使ってなきゃ、一緒に仕事したくないな。

ところで新たな質問は新スレでした方が良さそうだね。
0996@@@NGNG
C言語最強だー。
他にも 色々言語あるけど やっぱりCが最高。
0997デフォルトの名無しさんNGNG
997
0998デフォルトの名無しさんNGNG
sage
0999デフォルトの名無しさんNGNG
早く使い切ろう
1000らうんじゃNGNG
失礼。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。