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

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

■ このスレッドは過去ログ倉庫に格納されています
0001ともっちNGNG
C言語質問すれ

・comp.lang.c FAQ
http://www.eskimo.com/~scs/C-faq/top.html
・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html

・前スレ
<18> http://pc.2ch.net/test/read.cgi/tech/1020260813/l50
リンクは>>2-3
0153デフォルトの名無しさんNGNG
>>152
能力がいくら増えても情報量はbitで表されると思われ
0154デフォルトの名無しさんNGNG
スレ立て30時間でまだ150とは・・・
0155デフォルトの名無しさんNGNG
量子コンピュータって何だよ!
そんなもん基本概念からして違うんだから
今のコンピュータとリプレースは出来ないだろ
0156デフォルトの名無しさんNGNG
>>155
まぁ、お前はDNAコンピュータの原料にでもなってろってこった。
0157デフォルトの名無しさんNGNG
int mona=10;
int monao=20;
int a=mona;
a=monao<<4;
printf("mona=%d,monao=%d\n",mona,monao>>4);
こんな感じでできなかったっけ?
0158デフォルトの名無しさんNGNG
>>151
その話も10進コンピュータスレで外出
位どり記数法では0しか表せない
0159デフォルトの名無しさんNGNG
>>157
いや、2回も書かんでも・・・。
0160デフォルトの名無しさんNGNG
intが当たり前のように256bitの時代とか来るのかなぁ?
016179NGNG
>>106

すいません…BIN見たのですがどれがどのファイルかわかりません…

>>107

>>オプションを記述するだけ
>>-Ic:\include_file_path\
>>-Lc:\library_path\

具体的にどこに記述するものなのか教えて下さい。
0162デフォルトの名無しさんNGNG
>>161
おぃおぃ
tlink.cfgとかってファイル名書いてあるだろ?
0163デフォルトの名無しさんNGNG
>>159
ワラタ
0164デフォルトの名無しさんNGNG
>>161
ガイシュツだけど説明書はないの?
なければHELPの中を隅から隅まで目を皿のようにして探すこと。
0165デフォルトの名無しさんNGNG
int age=50;
int sex=1;
int human=age;
human=sex<<8;
として、ageを参照するときは,human&255とし,
sexを参照するときは,human>>8でどうでしょうか?
0166デフォルトの名無しさんNGNG
>>165
ソレダ!!
0167デフォルトの名無しさんNGNG
>>160
くる。
あとCPUも。
0168デフォルトの名無しさんNGNG
>>165
human|=(sex<<8)だろ。つーか、
なぜビットフィールドじゃダメなのか小一時間樋冷たい。
0169デフォルトの名無しさんNGNG
>>165
クリックしちゃったじぇねーか!!
ビットをずらしていたのか・・・
0170デフォルトの名無しさんNGNG
>>168
おけつめたい
017179NGNG
>>162
TCW5→BIN
で、この中にtlink.cfgっていうファイルがあるんですよね?

探してもないのですが…
なんでこんな簡単なことできないのだろ…(泣

0172デフォルトの名無しさんNGNG
>>169
printfで>>4を表示させても仕方ないだろう・・・w
0173デフォルトの名無しさんNGNG
>>169
8 :デフォルトの名無しさん :02/05/07 16:47
>>6
生ハムと生肉くらいの違いです
0174デフォルトの名無しさんNGNG
>>172
リンクがあるとついクリックするくせが(恥
0175デフォルトの名無しさんNGNG
>>161
turboc.cfg
だか
tcc.cfg
だかのファイルをカレントディレクトリに作る
0176デフォルトの名無しさんNGNG
166
128ビットのunsigned 型はint以外でどう表記するのですか。
unsigned lo--ng ・・・
0177デフォルトの名無しさんNGNG
もしかして、borland.comに落ちてるtc201.zipですか?
helpが無いみたいだし
0178デフォルトの名無しさんNGNG
>>171
いや、ないなら作ればよい。tcc.cfgもお忘れなく。もう少しだね。
0179デフォルトの名無しさんNGNG
THELP.COMを常駐させればヘルプが見れるはず
0180デフォルトの名無しさんNGNG
>>176
つぅかそろそろlong shortは終わらせた方が。。。
0181デフォルトの名無しさんNGNG
初期化したい時に,
human|=(0<<8)
は可能ですか?
0182デフォルトの名無しさんNGNG
移植性も考えればサイズ指定すべき。
0183デフォルトの名無しさんNGNG
>>181
初期化したいときに限ってダメ。
0184デフォルトの名無しさんNGNG
>>176
long long long int。C2003で対応予定。
0185初心者NGNG
教えてください。エラーもないのに実行できません

#include<stdio.h>
int main(void)
{
int i;
char moji[100];

printf("文字列を入力");
gets(moji);

for(i=100;i<=0;i--)
{
if(moji[i]==NULL)
{
}
else
{
printf("%s",moji[i]);
}
}
}

問題
文字列を読み込んで逆から表示 例 iptep==>petpi
018679NGNG
>>175,178

だんだん理解できてきました。
tcc.cfgって名前のファイルをカレントディレクトリに作ったのですが、まだできません。

ちなみにtest1.c incre.cってファイルを繋げてコンパイルしたいのですが、
tcc.cfgの中身は、tcc-c test1.c incre.cだけでいいのでしょうか?

本当にたびたびすいません。
0187デフォルトの名無しさんNGNG
>>186
いや、それは・・・
0188デフォルトの名無しさんNGNG
>>185
配列って
int hoge[100]
って宣言すると
hoge[0];
から
hoge[99];
までしか使えないって知ってた?
0189デフォルトの名無しさんNGNG
ファイルから日本語全角文字を配列に格納する方法を
教えてください。
0190デフォルトの名無しさんNGNG
>>186
もしかしたら>>175さんの言う通り、tcc.cfgでなくてturboc.cfgかもしれないので
両方作ってみて下さい。
中身はコマンドラインでなくて、

[turboc.cfg or tcc.cfg]
-IC:\TC\INCLUDE
-LC:\TC\LIB

[tlink.cfg]
-LC:\TC\LIB

のような感じになります。そして、
tcc test1.c incre.c[enter]です。-cは付けないで下さい。
うまく行けばtest1.exeが出来るはずです。
0191デフォルトの名無しさんNGNG
>for(i=100;i<=0;i--)

解説して。
0192デフォルトの名無しさんNGNG
>>191
俺も、いったいそのループ(になってない)が何をしたいのかサパーリ
0193デフォルトの名無しさんNGNG
>>191
つーか、一回もfor文の中身は実行されない罠。
0194デフォルトの名無しさんNGNG
while( fgets( kuni[i],256,country_fp ) != NULL ){
fputs( kuni[i],country_fp);
i++;}
なにがだめなの?
0195デフォルトの名無しさんNGNG
>>194
とりあえずおまえは
前橋のポインタ完全制覇でも読んでろ

あとcountry_fpってなに?
0196デフォルトの名無しさんNGNG
>>195
いなかのフライドポテト。
0197デフォルトの名無しさんNGNG
>>194
なんで入力ストリームと出力ストリームが同じなの?
0198194NGNG
わからんぽ
わからんぽ
おしえてぽ
0199194NGNG
FILE *country_fp;
0200デフォルトの名無しさんNGNG
>>199
どうやってオープンした?
0201デフォルトの名無しさんNGNG
>>194
こういう事する時は、"r+"で開いておいて、fseekなどで切り替えないと
動作の保証はない。
0202初心者NGNG
for(i=100;0<=i;i--)

の間違えでした。
0203 NGNG
文字列の行末にある空白を削除するにはどうすればいいでしょうか
020479NGNG
>>190

[turboc.cfg or tcc.cfg]
-IC:\TC\INCLUDE
-LC:\TC\LIB
ファイルの中身に記入。

[tlink.cfg]
-LC:\TC\LIB
ファイルの中身に記入。

tcc test1.c incre.c←これはどこのファイルに書けばよいのでしょうか?
0205デフォルトの名無しさんNGNG
>>202
まだ間違ってます。
0206194NGNG
ファイルから日本語全角文字を配列に格納する方法を
教えてください。

0207446NGNG
>>194
country_fpをfopen()したやり方にも夜が、
wとかwbとしたなら、オープンした時にファイルの長さが0になる。
aとかabとかa+bとかしたなら、ファイルの最後に追加することしかできない。

ちゃんとr+とかr+bでオープンしたとしても、
入力した直後に出力してはいけない。間にfflush()かfseek()をはさめ。
0208初心者NGNG
このfor文がおかしいのでしょうか?
0209デフォルトの名無しさんNGNG
>>204
tcc test1.c incre.cは、どこにも書かずにそのままコマンドラインから
打ち込むか、またはバッチファイルに書いて実行する。
0210デフォルトの名無しさんNGNG
203
sscanf()
0211デフォルトの名無しさんNGNG
>>204
もしくはmakefileというファイルをエディタで作成し、

test1.exe: test1.obj incre.obj

と書いて、make[enter]とやってもよい。だけど今はやめとけ。
0212デフォルトの名無しさんNGNG
>>208
俺の経験から言わせてもらうと、初心者に分類される人たちは、
プログラムを1行ずつ読むことが出来ていない気がする。
自分で書いたプログラムすら、その挙動が把握できてないというか。
0213デフォルトの名無しさんNGNG
>>212
つぅか丸写し以外でその質問している時点で努力も学力も才能も足りてない気がする。
021479NGNG
>>209

-IC:\TC\INCLUDE
-LC:\TC\LIBと書かれた[turboc.cfg or tcc.cfg] のファイルと、

-LC:\TC\LIB と書かれた[tlink.cfg] のファイルは、

test1.c incre.cの置かれたフォルダに入れればいいんですよね?

コマンドラインから打ち込んでもできなかったので、
バッチファイルに書く方法も教えてください。

よろしくおねがいします。
0215デフォルトの名無しさんNGNG
>>214
tcのbinフォルダに入れろ。
0216デフォルトの名無しさんNGNG
>>214
ちょっと待って。今Turbo-Cはどのディレクトリに入ってるの?
そのディレクトリ名をturboc.cfgやtlink.cfgに書くんだよ。
コマンドラインから打ち込んでもだめだったら、バッチファイルに
書いたってだめだよ。
0217デフォルトの名無しさんNGNG
>-IC:\TC\INCLUDE
>-LC:\TC\LIBと書かれた[turboc.cfg or tcc.cfg] のファイルと、
>-LC:\TC\LIB と書かれた[tlink.cfg] のファイルは、

-IC:\TC5W\include

とかじゃないのか?
自分の環境に合わせろ
0218デフォルトの名無しさんNGNG
打ち込んでも出来ない=コマンドまたはファイル名が違います?
それだったらパスを通せ
021979NGNG
>>215
test1.c incre.cの置かれたフォルダにはいれなくていいのですか?

>>216
Turbo-Cは、
C:\TCW5\BIN\tcw.exeです。
0220デフォルトの名無しさんNGNG
>>219
コンパイラの設定ファイルだから、
ソースがあるところに入れる意味がない
0221初心者NGNG
C言語でデータ配列の中から最大値を求める方法には
サーチングしかないのでしょうか?
サーチングだと処理に時間がかかっていやなのですが。
何か方法があれば教えてください。
0222デフォルトの名無しさんNGNG
>>221
ソートでも良いけど?
0223デフォルトの名無しさんNGNG
[turboc.cfg or tcc.cfg]
-IC:\TCW5\INCLUDE
-LC:\TCW5\LIB

[tlink.cfg]
-LC:\TCW5\LIB

これらをC:\TCW5\BINに置いてやってみ。
0224初心者NGNG
221です。
サーチングでもソーティングでも処理には
時間がかかるので、一括して処理できるような
ものがあればと思ったのですが。
0225デフォルトの名無しさんNGNG
>>221
じゃあ、ただ配列に入れるんじゃなくて、もっと工夫しろ。
データ構造の本を読んで「半順序木」の勉強を汁
0226デフォルトの名無しさんNGNG
>>224
人間に出来ないものはプログラムでも出来ないと思われ(速度以外
0227デフォルトの名無しさんNGNG
>>224
2分探索ならxlogx
バカサーチならx
0228初心者NGNG
185ですけど、いちおう成功したけど
この書き方って下手ですか?

#include<stdio.h>
int main(void)
{
int i;
char moji[100];

for(i=0;i<100;i++)
{
moji[i]=0;
}

printf("文字列を入力");
gets(moji);

for(i=99;0<=i;i--)
{
if(moji[i]==NULL)
{
}
else
{
printf("%c",moji[i]);
}
}
}
022979NGNG
>>220
わかりました!

>>223
やってみたのですけど、まだできません…。
コマンドはスクリプト→コマンドで入力ですよね?

単純にソースが間違ってるんですかね。。。
でも試食版コンパイラではできたのですが…。
0230デフォルトの名無しさんNGNG
>>228
if(moji[i]==NULL)
{
}
else
{
printf("%c",moji[i]);
}

まず、Cの薄い本でも読んでくれ。アイデアはおもしろい。
0231デフォルトの名無しさんNGNG
じゃぁ、
tcc test1.c incre.c

と入力して、その出力を一切改変せずに、
省略も一切しない状態ですべてここに貼り付けてみろ
0232デフォルトの名無しさんNGNG
>>228
40点
0233デフォルトの名無しさんNGNG
>>229
IDEからわざわざコマンドで実行させているんですか?まあいいけど。
一度、test1.cとincre1.cを別々にコンパイルして、エラーが出ないか
どうか確かめた方がいいですね。
多分incre.cにはmain()が無いというリンカエラーが出ると思うけど、
それは無視して下さい。
0234デフォルトの名無しさんNGNG
>>228
配列を逆さに読む意味は?
そもそも何がしたいんだ?
0235デフォルトの名無しさんNGNG
>>229
俺の所には古いBorland-C++5.02Jがあるけど、これから複数のプログラムを
コンパイルするには、ファイル→新規作成→プロジェクトでやると簡単だよ。
Turbo-C++も多分同じでしょう。
0236デフォルトの名無しさんNGNG
>>185にて
文字列を読み込んで逆から表示 例 iptep==>petpi
とかいてあるぞ。>>234よ

まぁ本来はもちっと難しい方法で解決するんだろうけど、
!=をつかってスリムにしない程の初心者なので良いんではないだろうか。
0237デフォルトの名無しさんNGNG
>>236
あれだと妙な空白が初めに出ない?
0238デフォルトの名無しさんNGNG
>>237
if(moji[i]==NULL)
{
}
だから出ないんじゃない?
0239デフォルトの名無しさんNGNG
>>185

宿題スレからコピペ

#include <stdio.h>

rev_put(ch)
{
 if (ch != '\n') {
  rev_put(getchar());
  putchar(ch);
 }
}

main()
{
 rev_put(getchar());
}
0240初心者NGNG
40点ですか。100点の解答は
どんな風にやるんですか?<232
ヒントをオクレ
0241デフォルトの名無しさんNGNG
for(i=99;0<=i;i--)
{
if(moji[i]==NULL)
{
}
else
{
printf("%c",moji[i]);
}
}

ここを

for(i=99;0<=i;i--)
{
if(moji[i]!=NULL){
printf("%c",moji[i]);
}
}

とするのはどうかな。
0242デフォルトの名無しさんNGNG
>>240
>>239じゃだめなんか?
0243デフォルトの名無しさんNGNG
>>242
無駄に再帰使ってるね。。。
024479NGNG
>>231
やっとのことで成功しました!
…ここまできたので、ついでといっては何ですが、
[turboc.cfg or tcc.cfg]
-IC:\TCW5\INCLUDE
-LC:\TCW5\LIB

[tlink.cfg]
-LC:\TCW5\LIB

IC,LCなどの意味も教えてくれないでしょうか?

この分からず屋にも親切に教えてくださったみなさん、
ありがとうございました!
これで、ますますCの勉強がやりやすくなります!
0245デフォルトの名無しさんNGNG
>>244
おめっと。
でも分からず屋ってこういうときに使う言葉か?(汗
0246デフォルトの名無しさんNGNG
>>231
ICじゃなくて
-Iがインクルードパス
-Lがライブラリのパス
C:\TC5W〜がディレクトリ
-Iと-Lでディレクトリを指定している。

しかし、水を差すようで悪いが、
bcc32を使った方がいいと思う
0247デフォルトの名無しさんNGNG
>>243
入力される文字列の長さが100文字限定というのはアレだからな
0248デフォルトの名無しさんNGNG
TurboC++ for Windows 5 って、Windows専用コンパイラじゃなかったっけ?
コマンドラインツールって含まれてるの?
コンソールアプリもEasyWindow(s?)でウインドウアプリにしちゃった気が・・。

エラーってさ、、、
 「コマンドまたはファイル名が違います」
じゃないよね?
024979NGNG
>>245
あっ、使い方間違ってますね(汗

>>246
ありがとうございます!
また質問で悪いのですが、bcc32とは何でしょうか?
0250デフォルトの名無しさんNGNG

#include <stdio.h>

int main(void)
{
char ch = getchar();
if ( ch!='\n' ) main();
putchar( ch );
}
0251デフォルトの名無しさんNGNG
>>250
returnがありませんw。
0252デフォルトの名無しさんNGNG
ワラタ
■ このスレッドは過去ログ倉庫に格納されています