C言語なら俺に聞け(入門編)Part 85
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/05/30(月) 06:21:04.32★前スレ
C言語なら俺に聞け(入門編)Part 84
http://hibari.2ch.net/test/read.cgi/tech/1305216054/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 148代目
http://hibari.2ch.net/test/read.cgi/tech/1305867431/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
★ぬるぽ。
長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
0002デフォルトの名無しさん
2011/05/30(月) 07:44:54.020003デフォルトの名無しさん
2011/05/30(月) 07:57:28.280004992
2011/05/30(月) 10:38:42.31>994
ありがとうございます
参考にします
0005デフォルトの名無しさん
2011/05/30(月) 17:37:42.02http://twitter.com/#!/BrightGenerous/status/73926671329271808
0006デフォルトの名無しさん
2011/05/30(月) 18:18:22.19ヘボが書いたものは長大で遅くてバグだらけ
出来る人が書いたものを使ったほうが早くなるのは当然
0007デフォルトの名無しさん
2011/05/30(月) 18:28:41.09性能差は高々定数倍。
アルゴリズムの選択を間違えるとオーダーで遅くなる場合があるから
そういうこともある。
0008デフォルトの名無しさん
2011/05/30(月) 18:36:47.990009デフォルトの名無しさん
2011/05/30(月) 19:12:52.68個人的にはiccよりJavaが速かったことは無いわ。
0010デフォルトの名無しさん
2011/05/30(月) 19:34:45.73longjumpと言う手もないではないのですが、
ろくなもんじゃないので大人しくreturnで済ますのが無難です。
0012デフォルトの名無しさん
2011/05/30(月) 19:38:10.84なるほどありがとうございました!
0013デフォルトの名無しさん
2011/05/30(月) 20:27:26.69プロトタイプ宣言すれば別のファイルからでも関数呼び出せますよね?
ポインタを使う意味ってなんですか
0014デフォルトの名無しさん
2011/05/30(月) 20:34:02.17実行時に呼び出す関数変えられるじゃん。
0015デフォルトの名無しさん
2011/05/30(月) 20:37:34.460016デフォルトの名無しさん
2011/05/30(月) 20:37:50.93関数ポインタを使えば、関数の名前を知らなくても関数を呼び出せるでしょ。
例えば GUI ライブラリなんかで、ボタンを押した時の処理を指定する時に
関数ポインタが無いと困る。
GUI ライブラリの側で予めコールバック関数の名前を決めておいて、
ライブラリのユーザはその名前で関数を作るという事も出来るけど、
その方法だと、同じボタンを複数作りたい時に破綻する。
0017デフォルトの名無しさん
2011/05/30(月) 20:55:10.010019デフォルトの名無しさん
2011/05/30(月) 22:21:35.870020デフォルトの名無しさん
2011/05/30(月) 22:41:20.430021デフォルトの名無しさん
2011/05/31(火) 20:56:08.12なにかおすすめな参考書でも教えていただけないでしょうか。
0022デフォルトの名無しさん
2011/05/31(火) 21:10:12.25例えばbig appleという文字列がありますよね?
gとaの間の文字は何ですか?
0023デフォルトの名無しさん
2011/05/31(火) 21:16:54.91アルゴリズムとデータ構造の勉強
0024デフォルトの名無しさん
2011/05/31(火) 22:03:23.52スペースキーを押したらスペース、タブキーを押したらタブ
0025デフォルトの名無しさん
2011/05/31(火) 22:20:41.99空白ってことか。
改間って何ですか?
0027デフォルトの名無しさん
2011/05/31(火) 22:28:26.51自分で何か作るとよい。
「C言語 入門書の次に読む本 [改訂新版]」
「C言語によるオブジェクト指向プログラミング入門」
おすすめです。
0028デフォルトの名無しさん
2011/05/31(火) 22:36:25.57>>27
教えていただきありがとうございます。
アルゴリズムの本はもっているのでそれを読みつつ紹介してもらったので勉強をしようと思います。
0029デフォルトの名無しさん
2011/05/31(火) 23:57:29.01http://bellard.org/jslinux/
で
#include <tcclib.h>
main()
{
putchar(' ');
printf("%d", (int)' ');
}
をクリップボードに貼りつけて
tcc /dev/clipboard
でコンパイルして
./a.out
で実行したら
32
ってでた
0030デフォルトの名無しさん
2011/06/01(水) 06:43:24.260031デフォルトの名無しさん
2011/06/01(水) 06:58:52.150032デフォルトの名無しさん
2011/06/01(水) 16:26:44.26どうすればいいですか
0033デフォルトの名無しさん
2011/06/01(水) 17:15:31.28一杯になったら出しちゃえば?
0035デフォルトの名無しさん
2011/06/01(水) 20:10:01.35キーボードからの小数の入力を受け付け→その値を出力
というコードを書いていましたが、出力結果が必ず0.000000になってしまいます。
解決方法が全く分かりません。協力お願いします。
#include <stdio.h>
int main(void)
{
double num;
printf("小数を入力してください。\n");
scanf("%1f", &num);
printf("%fが入力されました。\n", num);
return 0;
}
0036デフォルトの名無しさん
2011/06/01(水) 20:12:46.580037デフォルトの名無しさん
2011/06/01(水) 20:13:53.15↓
scanf("%lf", &num);
0038デフォルトの名無しさん
2011/06/01(水) 20:21:48.26解決しました。lと1読み間違えてましたw
ありがとうございました。
0039デフォルトの名無しさん
2011/06/01(水) 21:05:58.31こういう理不尽なバグを回避するためにフォント選んだ方がいいよ。
1とl、0とOの区別が付かないフォントもあるでの。
0040デフォルトの名無しさん
2011/06/01(水) 23:51:16.71戻り値に注目しないにしてもintでreturn 0するほうが書き方としてはいいですか?
0041デフォルトの名無しさん
2011/06/01(水) 23:56:42.17main()
{
bool i=1;
if(i==1)
puts("ok");
else
puts("no");
}
エラーでるんですけどなんでか教えてください
0042デフォルトの名無しさん
2011/06/01(水) 23:59:20.45エラーメッセージも読めない奴に教える意味は無い
0043デフォルトの名無しさん
2011/06/02(木) 00:01:45.07と
int main()
あたりで
0044デフォルトの名無しさん
2011/06/02(木) 00:05:12.17無視して 2ch に聞きに来るとかコンパイラが可哀想過ぎる
人としてどうなのよ
0045デフォルトの名無しさん
2011/06/02(木) 00:16:38.27誰も書き込んでないから返事してやるよ
別に変じゃないとおもうぞ ってか俺もvoid型でもreturn いれている
まぁ人によってはいらないっていうヤツもいるだろうが、
そこで関数を終了し、処理を返しているってはっきり記述できるし
特定条件下で途中で処理返す時もreturn書くなら、終わりにも書いた方が自然だろ。
int型で return 0とかにするかは勝手にしろ。
いろいろ言語の細かいところに行くとどっちがいいとかあるかもしらんだが
そんな事で一々悩むつもりない。
自分だけで使うなら自分がわかればいい。
0046デフォルトの名無しさん
2011/06/02(木) 01:45:52.28return ()とか?
0047デフォルトの名無しさん
2011/06/02(木) 01:59:53.060048デフォルトの名無しさん
2011/06/02(木) 06:13:54.82なぜ括弧をつける
0049デフォルトの名無しさん
2011/06/02(木) 10:24:26.98return;
0050デフォルトの名無しさん
2011/06/02(木) 17:22:05.870051デフォルトの名無しさん
2011/06/02(木) 19:27:45.27・あるといい
関数にプルダウンでアクセスできる
0052デフォルトの名無しさん
2011/06/02(木) 19:34:31.41何が原因なんですかね。
0053デフォルトの名無しさん
2011/06/02(木) 19:37:53.48前の関数の中のファイルがとじられてなかった
0054デフォルトの名無しさん
2011/06/02(木) 20:01:14.74道具に使われることは考えないほうがいいよ
0055デフォルトの名無しさん
2011/06/03(金) 02:27:48.15環境を書いてないね。
Windowsならvimで、linuxならvimかな。
BSDやmacもvimでいいとおもう。
0056デフォルトの名無しさん
2011/06/03(金) 20:17:33.43そのフォルダ内の情報ってどういうのがありますか?
0057デフォルトの名無しさん
2011/06/03(金) 21:16:40.200058デフォルトの名無しさん
2011/06/03(金) 22:19:01.670059デフォルトの名無しさん
2011/06/03(金) 22:36:14.22fprintfとかじゃなくて、結果を丸ごとテキストファイルに出力したいです。
プログラムはprogram.c
出力させたい空のファイルをprogram.txt
とします。
0060デフォルトの名無しさん
2011/06/03(金) 22:40:51.14>
0061デフォルトの名無しさん
2011/06/03(金) 22:42:47.62program.c program.txt >ですか?
良く分かりません・・・すいません。
0062デフォルトの名無しさん
2011/06/03(金) 22:46:40.65コマンドではなくリダイレクトでしたあばばばばあばbっばばばばばb
0063デフォルトの名無しさん
2011/06/03(金) 22:55:59.54使ってるOSとかコンパイラとか分かる?
0064デフォルトの名無しさん
2011/06/03(金) 22:56:27.13検索でfprintf引っかかり・・・うざすぎワロタ
0065デフォルトの名無しさん
2011/06/03(金) 22:59:14.570067デフォルトの名無しさん
2011/06/03(金) 23:07:21.86環境を書いてないね。
Windows だったら xyzzy の一択。これ、Linux や *BSD に移植してくれないかなあ。
mac のことはよく知らない。
0068デフォルトの名無しさん
2011/06/04(土) 00:33:20.75大阪にて北朝鮮系ヤクザが在特会に襲撃!!!!!!
http://www.youtube.com/watch?v=zL0jgbzOtUM
【パチンコ】年商4000億「ガイア」代表取締役 覚せい剤逮捕 パチンコ業界人「こんな時期に」と動揺&困惑
http://raicho.2ch.net/test/read.cgi/newsplus/1307057114/
パチンコを死守する北朝鮮系ヤクザとシャブ中社長!!!
0069デフォルトの名無しさん
2011/06/04(土) 01:35:58.190070デフォルトの名無しさん
2011/06/04(土) 02:46:04.60emacsと比べてそんなにいいの?
0071デフォルトの名無しさん
2011/06/04(土) 06:54:33.33エディタ内のカットバッファをGUIのクリップボードと分離して独立して扱えるのはemacsより気が利いているかもしれない。
emacsと違って、単にエディタだから単純には較べられないけどね。
0072デフォルトの名無しさん
2011/06/04(土) 07:12:48.70vi 類の方がまだマシ。
0073デフォルトの名無しさん
2011/06/04(土) 10:31:42.40おまい、emacs使ったこと無いだろ
0074デフォルトの名無しさん
2011/06/04(土) 10:37:35.800075デフォルトの名無しさん
2011/06/04(土) 17:53:31.06→つまり、ヘッダファイルはpublicなものしか書かないのが普通?
オブジェクト指向という考え方からすると使うべきじゃないね
ヘッダーファイルは複数の c のモジュール(コンパイル単位)で参照されるものだから、一つのコンパイル単位で完結する性質の static 変数/static 関数を記述する場所ではない。
0078デフォルトの名無しさん
2011/06/04(土) 19:03:13.26後者の場合正しく出ないんです・・・
何故ですか?
0079デフォルトの名無しさん
2011/06/04(土) 19:13:08.80配列のサイズと文字数が一緒になってたりしない?
0080デフォルトの名無しさん
2011/06/04(土) 19:15:00.08008175
2011/06/04(土) 19:40:52.49>static使ってるとそのオブジェクトを複数生成するのが不可能になるから
これは、どういう意味ですか?
>>77
つまり、staticはヘッダファイルに書くべきじゃないってことですか?
008277
2011/06/04(土) 20:32:07.19通常の使い方では static な変数/関数をヘッダに書くことはないと思います。
というか、>>77 で述べたとおりで、思いつかないのです。
0083デフォルトの名無しさん
2011/06/04(土) 21:24:26.19fgetsで読み込んだ場合
例えば
abc def
をchar*pがさすとき
strlen(p)はどうなりますか?
0084デフォルトの名無しさん
2011/06/04(土) 21:33:25.780085デフォルトの名無しさん
2011/06/04(土) 21:34:57.09自分でやってみて、それが思った事と違うなら相談してみたら?
0086デフォルトの名無しさん
2011/06/04(土) 21:39:32.12DFASD
sdfsd
dsd
fd
テキストファイルです
上から順番に
7
7
5
2
です。
全く分かりません・・・解析してください。
0087デフォルトの名無しさん
2011/06/04(土) 21:41:13.64読み込むテキストファイルの改行コードが CR+LF
fopen するときにバイナリモードで開いている
0088デフォルトの名無しさん
2011/06/04(土) 21:41:27.10改行が二文字でカウントされてるんだよ
0089デフォルトの名無しさん
2011/06/04(土) 21:42:05.50それじゃ分からない。ソースを一緒に晒してみて
0090デフォルトの名無しさん
2011/06/04(土) 21:48:41.97あぁなるほど。たぶんそれですね。
ただナル文字って配列の場合でもchar*の場合でも
strlenでは無視されるんですよね。助かります。
0091デフォルトの名無しさん
2011/06/04(土) 23:05:07.91突然コマンドを実行すると「コンパイル開始」の表示のままで止まるようになりました。
それまではきちんとプログラムが再生されていたのですが…
また、コマンドを実行する度「C言語を始めよう!」のフォルダ内に
TMPファイル(0バイト)が作成されるようになりました。
どのようにすれば元通りになるでしょうか?
0092デフォルトの名無しさん
2011/06/04(土) 23:06:09.35ヘッダファイルとは何か?
それが問いの答えになる。
調べてみよう。
0093デフォルトの名無しさん
2011/06/04(土) 23:11:30.99状況がよくわかりません。参考にした資料/URL を教えてください。
あと、今日日、LSI-C はちょっと古すぎます。別のコンパイラのほうがいいでしょう。gcc とか visual c++ とか、ちょっとふるいけれども borland c++5.5.1 とか。
0094デフォルトの名無しさん
2011/06/04(土) 23:26:33.18開発環境も付属だからそのまま使えるぞ。
試食版みたいな変な制限もないし。
0095デフォルトの名無しさん
2011/06/04(土) 23:26:34.27レスありがとうございます。導入に使ったHPは
http://www9.plala.or.jp/sgwr-t/detail/EnvSet.html
http://homepage3.nifty.com/aokura/phoebe/phoebe.htm です。
ちなみにborland c++5.5.1、本当は導入したかったのですが
DL箇所がうまく見つけられませんでした…
0096デフォルトの名無しさん
2011/06/04(土) 23:38:08.83レスありがとうございます。
今Turbo C 2.01について調べていたのですが、
これは日本語でも使えるのでしょうか?
英語のサイトが多くて導入が難しそうに見えたので…
0097デフォルトの名無しさん
2011/06/04(土) 23:50:01.22了解。
で、プログラムの「再生」という言い回しは普通しないので、状況が伝わってきません。
コンパイルはうまくいっていますか?
コンパイルの結果生成した .exe ファイルが実行できないということですか?
0098デフォルトの名無しさん
2011/06/04(土) 23:54:18.31関数を呼び出すほど変数のメモリを食うのですか?
0099デフォルトの名無しさん
2011/06/04(土) 23:57:30.90すみません、初心者なもので言葉が結構足りてなさそうですね…申し訳ないです。
コンパイルは開始と終了がきちんと出てますので、成功しています。
ただコマンドを実行すると開始表示をしたままで止まってしまいますので
まさしく仰られている通りの状態かと思います。
0100デフォルトの名無しさん
2011/06/05(日) 00:07:52.00最適化すると変数でメモリを食わなくなることがある
0101デフォルトの名無しさん
2011/06/05(日) 00:11:08.51Visual C++ 2010 Expressじゃだめなん?
■ このスレッドは過去ログ倉庫に格納されています