C言語なら俺に聞け! Part 92
レス数が1000を超えています。これ以上書き込みはできません。
0001v(^o^i)d
NGNG質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
各種リンク、関連スレは>>2-13あたり
C言語なら俺に聞け! Part 91
http://pc5.2ch.net/test/read.cgi/tech/1095180315/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0002デフォルトの名無しさん
NGNGgcc
http://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
Visual C++ Developer Center: Microsoft Visual C++ Toolkit 2003
http://msdn.microsoft.com/visualc/vctoolkit2003/
【ライセンスや機能などに問題あり】
Microsoft C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
Intel C++ Compiler for Linux
http://developer.intel.com/software/products/compilers/clin/noncom.htm
00032
NGNG0004デフォルトの名無しさん
NGNGこれは仕様で決まっているのですか?
0005デフォルトの名無しさん
NGNG>ifで式を , で複数書いたとき一番右の式だけが評価されて
んなこたーない。
0006デフォルトの名無しさん
NGNGやっぱりAPIを使う必要がありますか。
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGシステムコールを使わないとだめだね。
だって環境によって違うもの。
0009デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int m=0;
if (m == 0, m == 1) printf("%d %d\n", __LINE__, m);
if (m == 0, m == 1, m == 0) printf("%d %d\n", __LINE__, m);
if (m == 0, m == 1, m == 0, m == 1) printf("%d %d\n", __LINE__, m);
if (m == 0, m == 1, m == 0, m == 1, m == 0) printf("%d %d\n", __LINE__, m);
if (m == 0, m == 1, m == 0, m == 1, m == 0, m == 1) printf("%d %d\n", __LINE__, m);
return 0;
}
これで一番右がm==0の時だけ真と評価されているみたいなんですけど
実際はどういう動作をしているんでしょうか?
0010デフォルトの名無しさん
NGNGm == 0 もしっかり評価されている。
その後、最後に書いた m == 1 の結果が
全体的な式の評価結果となっているだけだ。
if (printf("評価してるよー\n"), m == 0)
を実行してみろ。
0011デフォルトの名無しさん
NGNGm = 0;
m = 1;
m = 2
if(m == 2) printf("mは2です。");
とするとm = 0; m = 1; m = 2;すべてが実行されて
最終的にmは2になるだろ。
それと似たような原理で、すべて評価した上で最後の式が
ifにかけられている。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG分かりました、ありがとうございます。
0014デフォルトの名無しさん
NGNG言語仕様の外側の話?
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG言語仕様として定義できるキーワードじゃないってこと?
0019デフォルトの名無しさん
NGNG言語仕様の一部だけど?
0020デフォルトの名無しさん
NGNG↑こんなかんじ
0021デフォルトの名無しさん
NGNGwhile(i == 0){
printf("Waiting...\n");
}
は、最適化されて
while(1){
printf("Waiting...\n");
}
こういう動作をしても仕様上問題はない。
しかし、他のスレッドから書き換えられるのを待ってたりするときに
最適化されて評価されないと困る。
だから、volatileを付けてiに最適化を加えるなと指示する。
0022デフォルトの名無しさん
NGNGやっぱりそうですか。ありがとうございました。
0023デフォルトの名無しさん
NGNGいみわかんねー奴には
一生関係ないものだ。
もともと足りない脳みそを
無駄に使うようなマネをするな。
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGはあ?w
volatileはどう考えてもC言語の使用だろ?w
0026デフォルトの名無しさん
NGNG言語仕様ではない、かも。。
0027デフォルトの名無しさん
NGNG>volatileはコンパイラへのメッセージ。
いみふめ。
ソースコードは全て「コンパイラへのメッセージ」だろ?
0028デフォルトの名無しさん
NGNG何をもって「言語仕様」と言ってるのかはわからんけど。
少なくとも規格にはありますぜ。
0029デフォルトの名無しさん
NGNG「volatileは、言語仕様ではない」
0030デフォルトの名無しさん
NGNGvolatileって、なに?
0031デフォルトの名無しさん
NGNGその割込処理は登録されたアドレスに何か書いたりする。
void func(void)
{
static int i;
foo(&i);
i = 1;
while (i)
;
}
んで、のようにやったときはループから抜け出すことができない(可能性がある)。
コンパイラは最適化でiは1から変わらないと思ってiの評価をループの外で終える
ようにするかもしれないからだ。
しかし、iの宣言をvolatileつきにすると、そのような最適化は一切行わない。
なので割込処理でiに0を設定するとループから抜けるようになる。
この辺がvolatileの存在意義。
0032デフォルトの名無しさん
NGNGttp://www.cmagazine.jp/src/kinjite/c/null.htmlに、
『NULLにしても0にしても'\0'にしても「ゼロという値」がstrcpyのふたつ
目の引数にセットされます。』
とあるので、NULLの内部表現は0と一致していると私は思うのですが、
先輩はNULLの内部表現は0とは限らない、といって譲りません。
どちらが正しいのでしょうか。
0033デフォルトの名無しさん
NGNGNULL の内部表現は 0 とは限りません。
'N''U''L''L'という文字が入っている可能性だってあります。
0034デフォルトの名無しさん
NGNGNULL は0です。
しかし、必ずしも
0の機械上での表現が
0x0000とは限りません。
0035デフォルトの名無しさん
NGNG一応FAQなんだけど、ポインタとして評価される文脈で字面の0が出てきたら、
それはNULLポインタとして扱われる。また、その文脈ではNULLポインタは
0として扱われる。
これはあくまでCとしての評価の話で、NULLポインタが実際にバイナリ0で
あるかどうかとは関係のない話なのだ。ただし、おれはNULLポインタを
バイナリ0以外にしている処理系は見たことがないが規格上は区別されてる。
ポインタとして扱われる文脈とは、たとえば
(void *)0; /* キャスト */
int *i = 0; /* ポインタ変数への代入*/
void foo(void *);
foo(0); /* ポインタを取る関数のパラメータ */
など。fooを例に取るとこいつに渡るのはたしかにvoid*型のNULLポインタなのだが、
パラメータを積んだスタックにバイナリ0があるとは限らないっていうこと。
# もっともスタック渡しかどうかも処理系によるんだけどそこはそれ
0036デフォルトの名無しさん
NGNGはじめから内部表現の話をしているのだから一行目の突っ込みは意味不明だが・・・。
>>35
昔そういう環境もあったって話が過去スレであった気がする。
0037デフォルトの名無しさん
NGNGttp://www.kouno.jp/home/c_faq/c5.html
0038デフォルトの名無しさん
NGNG>NULLの内部表現は0と一致していると私は思うのですが、
>先輩はNULLの内部表現は0とは限らない、
ここで書かれている 0 が内部表現なのか数値なのかによって
話が変わってくるから、いくら議論しても無駄。
0039デフォルトの名無しさん
NGNG「どちらも本当。但し、話がかみ合っていないけど」
という回答もありうるな。
0040デフォルトの名無しさん
NGNG「内部表現」の意味がわかってない気がする。
0041デフォルトの名無しさん
NGNG新スレになったばっかだっつーのにご苦労さん
0042デフォルトの名無しさん
NGNGってやると、
(null)
ってでるよな。
てことは、どこかで
#define NULL "(null)"
ってやってあるのか?
0043デフォルトの名無しさん
NGNGprintfの中で
0なら"(null)"を出力する
というふうにしてるんだろ。
0044デフォルトの名無しさん
NGNG*ptr = 1;
ってやると、
ぬるぽ
ってでるよな。
てことは、どこかで
#define ぬるぽ 1
ってやってあるのか?
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGlinuxならこんな感じ。
% grep "define NULL " /usr/include/*/**
/usr/include/g++-3/streambuf.h:#define NULL (__null)
/usr/include/g++-3/streambuf.h:#define NULL (0)
/usr/include/linux/stddef.h:#define NULL 0
/usr/include/linux/stddef.h:#define NULL ((void *)0)
0048デフォルトの名無しさん
NGNGスレ違い
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNGミ ∠_)
./
/_∧
/,,・∀・)
// と ) | | ガッ
Y /ノ 人 ガッ
て / ) < >__Λ ガッ
_/し' //.V;´Д`)
(_フ彡 / ヽ ←>>44
005147
NGNG% grep "define NULL " /usr/include/**/*
/usr/include/freetype2/freetype/internal/ftobjs.h:#define NULL (void*)0
/usr/include/g++-3/streambuf.h:#define NULL (__null)
/usr/include/g++-3/streambuf.h:#define NULL (0)
/usr/include/glib-2.0/glib/gmacros.h:# define NULL (0L)
/usr/include/glib-2.0/glib/gmacros.h:# define NULL ((void*) 0)
/usr/include/libio.h:# define NULL (__null)
/usr/include/libio.h:# define NULL ((void*)0)
/usr/include/libio.h:# define NULL (0)
/usr/include/linux/stddef.h:#define NULL 0
/usr/include/linux/stddef.h:#define NULL ((void *)0)
>>49
厨な漏れにgrepの使い方を教えてください。
そもそもしよう目的が違ってるとか...?
0052デフォルトの名無しさん
NGNGfind /usr/local -type f -print | xargs grep -n define | grep NULL
とかかな…。
これが>>49的正解かどうかは分からない
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNGzshが前提になってるのがいかんのじゃなかろうか。
あとgrepは
egrep '^ *# *define +NULL'
で探さないといけないんじゃなかろうか。あ。tabも考慮せんとならんか。
0056デフォルトの名無しさん
NGNGzsh依存なのがだめなのか(´・ω・`)
って、grepの使い方とかとは関係ないような。。
zsh使ってなかったら自分が使ってるshellに適当に読み替えればいいことだし。
いずれにしてもすれ違いな質問に答えてくれてありがとうございます。
0057デフォルトの名無しさん
NGNGchar *s;
s=strdup("test");
とすると
implicit declaration of function `strdup'
と文句を言われるんですが、これってC99ではstrdupなんて使うなってことなんでしょうか?
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG他のシェルなら例えばcshで*{,/*{,/*{,/*}}}くらいやっておけば事足りそうだけど。
#まぁ、find使えと。
0060トーシロ
NGNGvoid aaa(char *)
こんな感じです
0061デフォルトの名無しさん
NGNGchar型ポインタ
0062デフォルトの名無しさん
NGNGプロトタイプ宣言で変数名は必修じゃないよ
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNGおいおい、右に ダッコ♪ がないぞ
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNGdouble age(double a1, double a2){
return 0.5*a1 + a2;
}
と
double sage(double b1, double b2, double b3){
return -7*b1 + 8*b2 + b3;
}
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNGいや今回係数の掛け算は出来てるから別の意図の質問と思われる。
わけわかなのは以前と一緒だが。
0070デフォルトの名無しさん
NGNGage(1.0,1,0) / sage(1.0,1.0,1.0);
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGお前で四つ目だ。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGひっさびさに例のアレやっちったよ
びっくりこいたぜ
0075デフォルトの名無しさん
NGNGあぁ、ゼロ割りか。たまにやっちまうよな
まあ、がんばれ
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG↑これだろ? 空白厨が空白あけろぼけと言いそうだ。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG厨でもなんでもないだろう。
空白を空けた方が見やすい。
0080デフォルトの名無しさん
NGNGかっこつけたほうがいいじゃん。
0081デフォルトの名無しさん
NGNG「空白あけろぼけ」を連呼していた奴のこと>空白厨 ぼけ厨と言うべきか。
0082デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGそだな・・・
0085デフォルトの名無しさん
NGNG自作しなくてはならないのでしょうか?
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG即レスありがとうございます!
0089デフォルトの名無しさん
NGNG〜
typedef struct hit{
int atari;
int hazure;
} HIT;
〜
int main(void)
{
〜
HIT data[9000];
〜
return 0;
}
HIT data[9000];の上限を500万ほどにしたいんですが
数を増やすして実行すると「問題が発生したため〜」
とでてきて動きません解決方法をお教え下さい。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGコンパイラオプションでスタック領域を増やす
0092デフォルトの名無しさん
NGNGコンパイラのマニュアルで、スタックサイズを指定する方法を調べれ。
プログラムの中に不明瞭な処理系依存を持ち込むようなバカな真似はやめれ。
トラブルが起きたとき、論理的な間違いが、まず自分にあるかどうか調べ、
しかる後に相手にあるかどうか調べ、大局的に妥当な解を導く能力を大事にすれ。
0093デフォルトの名無しさん
NGNG#define STR_MAX 20
void strngcpy(char *s, char *t){while (*s++ = *t++)
printf("s => %c t => %c\n",*s,*t);
}
int main(void){
char source[] = "hello, world";
char dest[STR_MAX];
strngcpy( dest, source );
printf("%s\n", dest);
exit(0);
}
// strngcpyで*sにアクセスするにはどうすればいいんですか?
0094デフォルトの名無しさん
NGNG巨大なデータはファイルとかDBを利用した方がいい鴨
0095デフォルトの名無しさん
NGNGいつの時点でだ? s++ の前か、後か。
009693
NGNGよろしくお願いします
0097デフォルトの名無しさん
NGNGvoid strngcpy(char *s, char *t)
{
while (*s = *t) {
printf("s => %c t => %c\n",*s++,*t++);
}
}
009893
NGNG0099デフォルトの名無しさん
NGNG無理
0100デフォルトの名無しさん
NGNGUNIXの場合、スタックサイズは、ユーザ側の設定でも制限がかかることがある。
bashなら、
ulimit -s
で確認
ulimit -s unlimited
で制限をはずせる。
# これでハマッタことがある。
Windowsはしらん。
0101デフォルトの名無しさん
NGNGHIT のメンバに next と prev 作れば可変的にも増やせるし。
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG↑このソース、 0割りを回避するらしいんですが、
double に対しても != 0 で分岐すれば0割りは回避できるんでしょうか?
0104デフォルトの名無しさん
NGNG出来るんじゃない?
0105デフォルトの名無しさん
NGNG出来ないんじゃない?
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG浮動小数点の等値・非等値比較は誤差を考慮しないという致命的な欠陥を抱えている
0111デフォルトの名無しさん
NGNG0除算で問題が起こるのは分母が厳密に0に一致するときだけじゃないか?
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNGつまりa!=0はaが厳密に0じゃなくてもfalse返すことがあるってこと?
・・・true返すと思い込んでたよ・・・(´ー`;)
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG0116113
NGNG確認してみたけどやっぱり厳密に 0 になるときだけだったよ。
だからそのコードは問題ないんじゃない?
確認方法は、下記のとおり。
double a = 1;
while( a!=0 )
{
a /= 2;
std::cout << a << "!=0 == " << (a!=0) << std::endl;
std::cout << a << "*2 == " << (a*2 ) << std::endl;
}
0117デフォルトの名無しさん
NGNGcoutはCじゃない……。
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG#include <time.h>
#include <stdlib.h>
main()
{
int computer;
printf("【ジャンケン】\n");
srand(time(NULL);
computer = rand()%3 + 1;
printf("コンピュータは %d",computer);
return 0;
}
↑のプログラムを実行するとコンピュータの出す値が、
1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,・・・のようにかなり偏って出てきてしまうんですがどうしてなんでしょう?
コンパイラはGCCです。
0122デフォルトの名無しさん
NGNG実装によるんじゃないか?
srand直後のrandが3の倍数を返す確率が高いのかもしれない。
0124デフォルトの名無しさん
NGNGrandは下位ビットがランダムにならない線形合成法を使っている事が多い。
下位ビットは捨てて、上位ビットを使え。
0126デフォルトの名無しさん
NGNG同じseedが使われてるからだろ
0127デフォルトの名無しさん
NGNGまーなんだ、
rand() / (RAND_MAX / 3) + 1
とかすれば、切り捨ての分偏りはでるものの、
余りを使うよりはいい結果がでるってこった。
0129デフォルトの名無しさん
NGNGISO/IEC 9899:1999には特記事項なし。
0130デフォルトの名無しさん
NGNG>>113 にも理解できるように言い換えると、
「俺の環境で出来たら問題ない、とかほざくんじゃねーよ!」
って事ですね?
0131デフォルトの名無しさん
NGNGその顔文字いいな。
使わせてもらおう。
0132デフォルトの名無しさん
NGNGふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)
ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)
ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)
ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)
ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)
ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)
ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)ふぉっΣ(゜o゜;)
たのしかったです。
おわり。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG何が発想できますか?
0136デフォルトの名無しさん
NGNGサンニーナロナ
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNGshortの最大値
0142デフォルトの名無しさん
NGNGぶっぶー
0143デフォルトの名無しさん
NGNG・・・・・・・・・・。(゜o゜;)
0144デフォルトの名無しさん
NGNG私の家の緯度を10000倍した数
0145デフォルトの名無しさん
NGNG経度は?
0146いなむらきよし
NGNG0147デフォルトの名無しさん
NGNGサーバ側のrecvの返値が、クライアントから送ったデータのサイズになりません。
つまり全部送られてきていないみたいなんです。
どういう原因が考えられますでしょうか。
0148デフォルトの名無しさん
NGNG浮動小数点演算エラーって何ですか?
また、よくある原因は?
0149デフォルトの名無しさん
NGNGそれは正常な動作です。
ソケットプログラミングの入門書でも読みましょう
0150147
NGNG正常ってどういう意味ですか?
0151デフォルトの名無しさん
NGNGじゃあ
http://pc5.2ch.net/test/read.cgi/tech/1096187183/
の1あたりからリンク読んでおいで
0152147
NGNG0153初心紗
NGNGで、プログラムを作ったのですが、こんなもんで世の中で通用しますか?
/*////////////////////////////////////////////////////////////////////////////*/
/* */
/* 機能:指定されたファイルを16進数でダンプする */
/* 使い方:HEXDMP FILE-NAME */
/* */
/*////////////////////////////////////////////////////////////////////////////*/
/* インクルードファイル定義 */
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <memory.h>
#include <io.h>
#include <conio.h>
/* マクロ定義 */
#define OK 0
#define NG 1
#define HEXLEN 16 /* 出力幅 4の倍数指定 */
#define STRMAX 256
/* プロトタイプ宣言 */
int MemDmp(int, unsigned char *, int);
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG実際にそれを使ってダンプしてみろよ。
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG↑
やる気のなさが致命傷
0162デフォルトの名無しさん
NGNG最高に頭悪そうな発言してください in ム板 (2)
http://pc5.2ch.net/test/read.cgi/tech/1090324689/
0163初心紗
NGNGってねぇ。言うだけならだれでもねぇできるもん。
0165プロ ◆2r7NFKA9/2
NGNG俺は今、Winnyのようなファイル共有方式の掲示板を作ってるんだ。
2ちゃんねる以上の匿名性を備えた、完璧な掲示板だぜ。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGライブラリに登録されているようなヘッダーファイル開いても意味がわかりません。
みなさんはわかりますか?
完璧に理解できるようになるまで、みなさんはどのくらいの年月がかかったですか。
教えてください。
0169デフォルトの名無しさん
NGNG精進せいや
0170& ◆fn827t8V72
NGNGそれにヘッダファイルの中身は理解する必要はない。
0171素人 ◆2r7NFKA9/2
NGNGいいか、俺のトリップをよく覚えておけ。
そのうちインターネットの歴史に名を残すようなソフトを公開するからな。
0172デフォルトの名無しさん
NGNGうん、待ってるね。
0173デフォルトの名無しさん
NGNG・ドキュメントのバグか?
・隠しコマンドがありそう
・どう考えても自分に責任のなさそうなエラー
こんなときだな
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG286マシンで、メモリが無くてソースが詰め切れなくてヘッダ内の要らない関数宣言とか削除したとき。
という過去があるので、一ヶ月くらい?
0176デフォルトの名無しさん
NGNG他に同様の危険物がないか確認にいったりする
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG>メモリが無くてソースが詰め切れなくて
すまん、これさっぱり解らんのだが。どーゆーコンパイラだ?それ…
0179デフォルトの名無しさん
NGNG64k以上の行のソースを読めないのもあったな
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGBDS-Cとかじゃないか?
0183デフォルトの名無しさん
NGNG要素と要素の間でsleepをはさんだりするとき
for(i=0;i<len;i++){
if( i ) sleep(30);
hoge( array[i] );
}
のようなコードなんだけど もっとエレガントに書きたいです
これって 配列の各文字列をカンマでつなげるときとかも
同じようなもんだと思うけど この書き方だとちょっとダサいし・・・
0184デフォルトの名無しさん
NGNG以下のようなプログラムがあります
short* prbuf = new short[remain];
intTmpFlame = pWAV->_GetRemData(prbuf);
strcat(LPSTR(wh->lpData) , (LPSTR)prbuf);
_GetRemData(short*)の引数にポインタを渡すと
その型のデータを取得できるメソッドがあるのですが、
そこで取得したshort*型のデータをWAVEHDR構造体のデータ部である
LPSTR lpData// 音声データ部
に新たに追加(元からデータが格納されています)させたいのですが、
型が違うデータの追加の仕方がわかりません。
どなたか教えていただけないでしょうか?
ちなみにstrcatで
strcat(LPSTR(wh->lpData) , (LPSTR)prbuf);
とキャストしても考えていたような
結果がえられませんでした。
よろしくおねがいします。
0185デフォルトの名無しさん
NGNG配列の話の最中にいきなり文字列云々が出てくるし、何を聞きたいのか判らん。
0186デフォルトの名無しさん
NGNG質問の意味というか意図がよくわからん。
if( i ) で何がしたかったの?
あなたの言うエレガントとはどんなことを言うの?
0187デフォルトの名無しさん
NGNGスレ違い。好きなスレに行け。
http://pc5.2ch.net/test/read.cgi/tech/1094494997/
http://pc5.2ch.net/test/read.cgi/tech/1093672937/
http://pc5.2ch.net/test/read.cgi/tech/1090652323/
http://pc5.2ch.net/test/read.cgi/tech/1090324689/
0188デフォルトの名無しさん
NGNG質問してる範囲はスレ違いじゃねえだろ
0189デフォルトの名無しさん
NGNGそれでは環境に依存しない回答を頼む。
0190デフォルトの名無しさん
NGNGwh->lpData = (LPSTR)prbuf;
じゃあダメなのか?
lpDataってこたぁポインタだろ
内容の確保されていないポインタに文字列コピーしてどうするよ?
ポインタの概念を一度勉強しなおすべし
0191デフォルトの名無しさん
NGNGハァ?質問者に回答しろって?アホかアホかアホか
0192デフォルトの名無しさん
NGNGなんだ質問者か。だったら>190をよく読んで出直せ。
0193デフォルトの名無しさん
NGNG>質問してる範囲はスレ違いじゃねえだろ
>ハァ?質問者に回答しろって?アホかアホかアホか
スレ違いって言うより、生きててごめんなさいって感じだな。
0194184
NGNGwh->lpDataは、内容が確保(?)されてるんです。
(っというか、既にデータがある先を指しています。)
wh->lpData = (LPSTR)prbuf;
これだと上書いてしまいますよね。
あくまでその指してるデータに追加したいのです。
ちなみにwh->lpDataには、追加されるprbuf分のメモリも
確保されています。
0195デフォルトの名無しさん
NGNGa[0] a[1] a[2] a[3]
↑ ↑ ↑
配列を処理するときに、矢印のところでも
なにか処理をはさみたい という話
0196陽気な名無しさん
NGNG0197デフォルトの名無しさん
NGNGまずはなんでstrcatを使ってるのか理由を教えてくれ
あと、文字列型でのNULLの意味も書いてみてくれ
その2つがわかってれば、バグの原因もわかるだろう
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG>183で何が気に入らないのか書いてみ。
0200デフォルトの名無しさん
NGNGwav形式の取り扱いなら適切なスレがある。このままこのスレだといつまでもこの調子で話が展開するぞ。
0201デフォルトの名無しさん
NGNGOK。俺に任せろ
#define elegant_sleep sleep
#define elegant_hoge hoge
#define ELEGANT_SLPTIME 30
for ( elegant_i = 0; elegant_i < elegant_len; elegant_i++){
if ( elegant_i ) elegant_sleep(ELEGANT_SLPTIME);
elegant_hoge( array[elegant_i] );
}
こんなところでどうだ?
forやifまでエレガントにしたかったら、自分でやってくれ
0202デフォルトの名無しさん
NGNGいや、スレ違いのところに書き込んだはいいが、>>194がstrcpyなんていう
馬鹿なものを使ってるからここで正解だろう
WAVEに限らず、NULLが混じるデータを扱う場合全般にかかわる馬鹿コードだからな
0203デフォルトの名無しさん
NGNGif( i ) sleep(30);
この判定文が、うまいこと他んところに紛れ込ませないかなと。
ループの最初の一回だけ処理しない、または最後の一回だけ処理しない
というのが エレガントに記述できたらなぁ と。
ループはi=0から始まるとは限らないし
0204デフォルトの名無しさん
NGNGfor(i = 1; i < len; i++){
sleep(30);
hoge(array[i]);
}
ではイヤかね?
0205デフォルトの名無しさん
NGNG一定時間ごとにタイマイベント発生させて
イベントハンドラを呼び出すようにしたら?
スレッド作るとかして
WindowsだったらWM_TIMERメセージつかうとか
0206デフォルトの名無しさん
NGNGhoge( array[i] ) ;
0207デフォルトの名無しさん
NGNGそれはおかしいですよ
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGその調子で、何がしたいのかを、
まず日本語ではっきり書いてみれ。(ここにじゃなくていい)
はっきりとはどの位かというと、規格や法律の条文くらい。
1点のあいまいさも残さないように要求をきっちり定義すれ。
いざコードを書こうとすると、やることが決まっていて
悩んでいる余地がなくなっているのが理想形だ。
あなたの考える「エレガント」とは違うかも知れないが、
俺の考える「エレガント」の1つに「フラットであること」がある。
例外的な扱い(≒if 文)はいわば反例へのフォローであり、
数学的な正しさに疑問符がつくとこれがまた不快だったりする。
前提条件はあっていいが、論理の本体に傷が残るとブスなコードになる。
あなたのコードと >>204 はこの点で大きく違う。
0210デフォルトの名無しさん
NGNGでも、もういいです。ありがとう。
綺麗には書けないから仕方なくif文使います。
0211デフォルトの名無しさん
NGNGgoto L1;
while(++i < len){
sleep(30);
L1:
hoge(array[i]);
}
でいいだろ。
0212デフォルトの名無しさん
NGNGネタ?
0213デフォルトの名無しさん
NGNGガンヲタとかアニヲタとかPCとか
0214デフォルトの名無しさん
NGNGあと数字好きという点の定義は?
0215デフォルトの名無しさん
NGNGしょうがないな、のび太くんは。
for (i=0; i<len; i++) switch (i) {
default:
sleep(30);
case 0:
hoge(array[i]);
}
これでいい?
0216デフォルトの名無しさん
NGNGlen が 0 の場合こけるな。
0217デフォルトの名無しさん
NGNGそれだと
for(i=0; の 0 と、case 0: の 0 というように
同一の意味を持つ定数が2箇所に分かれて出てくるから
美しくないと思う。
が、しょうがないな
0218デフォルトの名無しさん
NGNGだから要求定義をまずはっきりさせてからでないとキリねえっつの。
それとも T array[0]; ができるって言いたいのか?
0219デフォルトの名無しさん
NGNG{
if ( loop_count!=0 ) sleep(30);
hoge(array[i]);
}
これがもっとも思考に忠実でエレガント。
0220デフォルトの名無しさん
NGNG単に間に sleepを挟むだけでは?
0221デフォルトの名無しさん
NGNGfor (i = BEGIN; i < len; ++i) {
if (i != BEGIN) sleep(30);
hoge(array[i]);
}
// (b)分岐なし(len対策済み)(204)
if (len > 0) hoge(array[BEGIN]);
for (i = BEGIN + 1; i < len; ++i) {
sleep(30);
hoge(array[i]);
}
// (c)switch(215)
for (i = BEGIN; i < len; ++i) {
switch (i) {
default:
sleep(30);
case BEGIN:
hoge(array[i]);
}
}
// (d)分岐なしの派生
i = BEGIN;
if (len > 0) hoge(array[i]);
for (++i; i < len; ++i) {
sleep(30);
hoge(array[i]);
}
>217の言う、定数の出現数だけなら(d)がいいように見えるが。
#私なら(a)のままだな。
0222221
NGNGfor (loop_count = 0, i = BEGIN; i < len; ++loop_count, ++i) {
if (loop_count != 0) sleep(30);
hoge(array[i]);
}
これはこれで、定数出現が一回か。
0223デフォルトの名無しさん
NGNG長さが0ということはよくある。
T array[0];
とは無関係の話。
0224デフォルトの名無しさん
NGNGループ内の条件分岐を外に出せるなら出したほうが良い。
0225デフォルトの名無しさん
NGNG何億何十億と配列操作するならその方が考えもんだ。
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGmain(){
char buffer[1024];
scanf("%s", buffer);
printf("%s", buffer);
}
というプログラムをtest.exeにコンパイルして
DOSからtest.exe | test.exeとパイプして起動したら
キーボードからの入力をそのまま画面に出力されることを期待してたのですが、
最初のprintfからパイプを通してscanfへと流れてないようです。
どうすれば期待通りのプログラムに出来ますか。
0228デフォルトの名無しさん
NGNGprintf("%s\n", buffer);
0229デフォルトの名無しさん
NGNGなんでやねん
0232デフォルトの名無しさん
NGNG^Z+Enter で
入力したやつまとめて出てくるんじゃね?
0233デフォルトの名無しさん
NGNGOS が NT 系で test.exe が 16bit の旧EXEなら、
COMMAND.COM を起動してから実験してみるもよし
0234デフォルトの名無しさん
NGNG俺も一瞬そう思ったが、EOF 判定はしてないぞ
0235デフォルトの名無しさん
NGNG質問ちゃんと読んだら?
オレは答えはわかるけど、説明する気にもなれん
0238デフォルトの名無しさん
NGNGしてないとは言い切れないぞ。
0239デフォルトの名無しさん
NGNGDOSはマルチタスクではないので、前段プロセスが終了するまで後段プロセスがスタートしない。
そうでない場合でも、改行するまでは入力がバッファリングされてしまう。
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG>EXEのbitはわかりませんが
コマンドラインみしてみ
0242デフォルトの名無しさん
NGNG今日メモリクリーナなるものをDLしてつかったところ何も開いていない状態で
みたら60Mぐらいつかわれていた・・これって一体なににそんなとられてるの?
メモリー俺のパソは128しかないんで・・・解放しても70Mぐらいからはじまる
まじでいったい何が60Mもつかってるの?てかfreeとなんか似てるな
って、まじでおしえてください・・60Mのメモリのパソならなんもできないじゃん
60も意味不明にとられてたら・・バスタかなんかですか?
0243デフォルトの名無しさん
NGNG氏んでこい
0244デフォルトの名無しさん
NGNGメモリクリーナってのはわざと大量のメモリを確保する。(中身は全く手を付けないけど)
そのときWindowsはメモリが足りなくなるので今までのメモリの内容をスワップファイルへ書き出す。
そしてすぐに確保したメモリを解放する。当然このときにスワップからメモリに書き戻されるのだが、
このときWindowsは虫食い状態になっていた空き領域を1ヶ所に集めて空き領域が連続ようにメモリに書き出す。
基本的にはこの空き領域が連続させることがメモリクリーナの効果。
こういうのはソフトウェア板で聞け。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGマジレスしてるやつ頭悪スレ池
0247デフォルトの名無しさん
NGNG大体手本となるような本とかWebページは同じやり方だよね。
例えば,if文を例に取ると,大概のページ・書籍には
if(……){
処理1;
処理2;
}
って書いてあるけど,俺は
if(……)
{
処理1;
処理2;
}
っていうほうが見やすい。
やっぱり前者のほうで書いて勉強を続けていったほうがいいのかなぁ。
0248デフォルトの名無しさん
NGNGhttp://etc3.2ch.net/test/read.cgi/entrance/1093006298/544-
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG例えばa=a+bを1とすると
a=a*b 3
if 10
rand 20
みたいな感じで。
0251デフォルトの名無しさん
NGNGプロファイル取るか、CPUの仕様書でも読め。
0252デフォルトの名無しさん
NGNGa=a+bがいつも1だとは限らないしな。
0253デフォルトの名無しさん
NGNG読み込み速度がどんどん低下してしまいます。何か解決法はありますか?
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG例えば読み込んだファイルを全てメモリに確保して、
新しいファイルが読み込まれても削除してないとか。
0256デフォルトの名無しさん
NGNG読んだデータは全部メモリ上に保持してたりする?
メモリ不足でページフォルト起こしてるんだろ。
0257デフォルトの名無しさん
NGNG小さなファイルが数万個あること自体がアウツ
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGretr 1をした後に送られてくるデータを*bufに入れたはいいが
空行でメールのヘッダと本文に分けたい(分かれ目のポインタの値が知りたい)
strcmpとかでやってみたところ、うまく分かれてくれないんだが
どうすればいいんでしょうか?
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGchomp せよ
0262デフォルトの名無しさん
NGNG分けれないんですが。
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG最初、それで余裕とか思ってたらOUTでしたorz
0266デフォルトの名無しさん
NGNGじゃないの?
0267デフォルトの名無しさん
NGNG\n\r\nで、逝けた。。。。。。
板汚しスマソ
0268デフォルトの名無しさん
NGNG外部のプログラムを実行して、そのプロセスを終了させないで、制御を元のプログラムに戻すことはできるのでしょうか?
0269デフォルトの名無しさん
NGNG0270268
NGNG私はLSIC試食版を使っていますが、INCLUDEの中からは発見できませんでした。
0271デフォルトの名無しさん
NGNGLSI-Cじゃどっちみち限界があるからBCCでも使え。
それと、プロセス制御は環境依存するから該当スレへ。
【初心者歓迎】C/C++室 Ver.9【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1094494997/
0272デフォルトの名無しさん
NGNG>INT 27H
それはどうかと…w
mov ax, 35xxh
int 27h
だっけか?もうとっくに忘れてるや
0273268
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1094494997/
にて質問します。
黙って移動してすいませんでした。
0274デフォルトの名無しさん
NGNG(POSIX って前提で) ふつー、fork して exec か、または popen しないか?
一度、system("hoge &"); してるのは見たことがあるが。
0275268
NGNGごめんなさいwindowsXP Proです
0276デフォルトの名無しさん
NGNGどうやれば対処できるのでしょうか?
0277デフォルトの名無しさん
NGNG環境依存のスレで聞いてください
0278227
NGNG#include <stdio.h>
#include <sys/types.h>
#include <process.h>
#include <windows.h>
unsigned __stdcall func(void *arg){
char buf[1024];
while(1){
scanf("%s", buf);
printf("%s", buf);
}
}
int main(int argc, char *argv[])
{
unsigned d;
int id;
id = _beginthreadex(NULL, 0, func, (void *)1, 0, &d);
if( id==NULL ){
fprintf(stderr, "error.");
return 0;
}
while(1){
Sleep(100);
return 0;
}
}
0279デフォルトの名無しさん
NGNG1行ずつバッファリングされるってレスついてたと思ったけど?
どううまくいかないのかね。
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNGまずはイメージトレーニングだ
0282デフォルトの名無しさん
NGNG標準入出力だけじゃ無理。
即ち、標準関数だけじゃ無理。
0283デフォルトの名無しさん
NGNGstdinから読み込むがごとく、ファイルから読め
0284デフォルトの名無しさん
NGNGルーチンのようなものをCで作れればと思っているのですが。
0285デフォルトの名無しさん
NGNG人の話を聞け
0286デフォルトの名無しさん
NGNGすみません。
Cは数値解析で使ったことしかなく、他の事に関してはまったくの初心者なのです。
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGインクルードしてるんですが、#include <string.h>を同じソース上に書いても
問題ないのでしょうか?
0290デフォルトの名無しさん
NGNGfreopen てことじゃなくてか?
0291デフォルトの名無しさん
NGNG問題ないと思うがお薦めしない。
その自作関数のヘッダのファイル名を変えとけ。
0292デフォルトの名無しさん
NGNG':'の意味と、そのあとの数字の意味を教えて下さい。
0293デフォルトの名無しさん
NGNGビットフィールドで調べてみよう
0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG0296sage
NGNGttp://www.wakhok.ac.jp/~maruyama/Syscall/sysint/section3.3.html#SECTION0003000000000000000
0298デフォルトの名無しさん
NGNGなんで検索しないんですか?
0300sage
NGNGif (!strcmp(a, b))
0301デフォルトの名無しさん
NGNGstrcmp が真偽値を返すわけじゃないから、かな。
別に結果は同じだけど ==0 にした方がわかりやすい。
strequal という関数を作ったほうがもっとわかりやすい。
0303デフォルトの名無しさん
NGNGnot string compare と読ませることにメリットがない
0304デフォルトの名無しさん
NGNG>strequal
とはいえ大小比較するからなぁ...
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNGこれによって得られたtmは使った後解放してやる必要があるんでしょうか。
0307デフォルトの名無しさん
NGNGなぜ、そう思ったんだ?
0308デフォルトの名無しさん
NGNGこっちで解放してやらないとメモリがどんどん食われると思ったんです。
あるいはローカルの静的なオブジェクトを返しているのかもしれないですが、
どちらか分からないので。
0309デフォルトの名無しさん
NGNG解放してはだめ。
0311マジレスしてみるテスト
NGNGいいえ。仕様書へのアクセス手段を知らないからです。
みながみなεπιστημηみたいな言語オタクだと思うなよ。
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/localtime.3.html
ここにもあるように静的な領域を確保するらしいけど
引き続いて呼び出されるあらゆる日付や時刻に関する関数によって上書きされる可能性がある。
とあるように、localtime() を複数回呼び出しても「メモリがどんどん食われる」事はないと思う。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGが、全てのプログラマが記憶力聡明であるわけではないし、
また優秀なプログラマでも、記憶力が乏しい人もいる。
お互いを摺り寄せる努力が必要だ。
0316デフォルトの名無しさん
NGNGいいかげんな造語だな。
0317デフォルトの名無しさん
NGNG> ―な
> ―に
>
> 〔「聡」は耳が、「明」は目がさといこと〕 物事や人情などに対する判断力・洞察力にすぐれ、自分の置かれている
> 環境で第一になすべき事を十分に自覚している様子。
Shin Meikai Kokugo Dictionary, 5th edition (C) Sanseido Co., Ltd. 1972,1974,1981,1989,1997
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNGprintf("%d %d\n",
sizeof(int), sizeof a);
というのをiccでコンパイルすると
ero.c(6): remark #181:
argument is incompatible with corresponding format string conversion
sizeof(int), sizeof a);
^
のようなのが出ます。
sizeofの前に(int)とかつけると出なくなりますが
そもそもsizeof演算子を使うと、どういうデータ型になるので
すか?
0324デフォルトの名無しさん
NGNG>仕様書へのアクセス手段を知らないからです。
ばかだからでは?
0325デフォルトの名無しさん
NGNGsize_t
これは大抵unsigned intがtypedefされている。
0326デフォルトの名無しさん
NGNG%u にすると出なくなりました。
ありがとうございます。
少しえろくなりました。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGgcc に糞メッセージを出させないようにするのがスジな気がしないでもない。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGPOSIX では %zd
Microsoft では %Id
C99 のフォーマットマクロにはなし
なんだな。
0331デフォルトの名無しさん
NGNGC99も%zd
0332デフォルトの名無しさん
NGNGあれ ?
%zu ではなくて %zd なの ?
0333デフォルトの名無しさん
NGNG確かに%zuの方が良いかもしれん。
符号無から符号有の変換は未定義だか処理系依存だからな。
0334デフォルトの名無しさん
NGNGtypedef enum{ false = 0, true = 1 } bool;
と
typedef enum{ false = ( 0 != 0 ), true = ( 0 == 0 ) } bool;
のどちらがいいのでしょうか…
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGどちらよりも、 #include <stdbool.h> がよい。
それがだめなら、どちらかというと前者。
理由は、下の書き方にしてもメリットは無いから。
0337デフォルトの名無しさん
NGNG長いことC++やってるんでCの細かい仕様なんか忘れちゃった(´・ω・`)
0338デフォルトの名無しさん
NGNG#ifndef STDBOOL_H
#define STDBOOL_H
typedef enum {false, true} bool;
#endif
をstdbool.hと名付けるよろし。
0340デフォルトの名無しさん
NGNGstdbool.h を真似るなら、もっと小細工が要りそうだ。
0341デフォルトの名無しさん
NGNGいや、C99がどうとかじゃなくて、例えばC++の演習で
std::vectorとか使ったらやり杉じゃないのかなあ…という感じで・・
まだCのテキスト渡されて関数すらやってない感じなので・・・
0342デフォルトの名無しさん
NGNGググってみても分かりませんでした。どうすればよろしいのでしょうか?
Linux環境であれば make が出来るのですが、Windows でのやり方が分かりません。
0343デフォルトの名無しさん
NGNGどのようにすればいいのでしょうか?
MMCのコマンドを使用すれば可能とのことらしいのですが、
ググッテもよくわかりませんでした。
ご存知の方いらっしゃいましたら、教えてください。
参考になるHP/書籍を教えていただけるだけでも構いませんので、よろしくお願いします。
OS:windows2000
言語:C言語
コンパイラ:VC6.0
0344デフォルトの名無しさん
NGNGできない。あきらめろ。
bool a;
a = 2;
if(a == true) goto hell;
0345デフォルトの名無しさん
NGNGそこまで厳密にやるわけではないので大丈夫です…
にしても C++ だと enum では int からの暗黙の型変換が
出来ないために bool が新しく出来たってのに、Cでは
typedef enum{ false = 0, true = 1 } bool;
bool b = ( 0 == 0);
これが動くんですね…
0346デフォルトの名無しさん
NGNG某社のライブラリのように大文字で BOOL なら
まがいものと割り切って使えという表示になる
0347デフォルトの名無しさん
NGNGC++のboolでも bool b = ( 0 == 0); はコンパイルとおるぞ。
「動く」とはまた違うのかもしれんが。
0348デフォルトの名無しさん
NGNGそれは #define begin { と同質
頭がおかしくなってしまってからでは自覚不能に陥るぞ
0349デフォルトの名無しさん
NGNGそれが通るように bool が新しく作られたですよね・・
プリプロセッサは使いたくないし、class にしてもうまくいかない…
enum にしても型変換が出来ない・・
皆さんのアドバイス通りとりあえず前者にしておきます。
ありがとうございました
0350デフォルトの名無しさん
NGNGdirectXはどう?
http://www.microsoft.com/japan/developer/library/jpdx8_c/ds/dvd/dvd_controlling.htm
0351342
NGNG0352デフォルトの名無しさん
NGNGnmake
0354343
NGNGありがとうございます。
ですが、書き忘れていました。言語は「C言語」のみで(「C++」は不可)でした。
折角、教えていただいたのに申し訳ございません。
webでちょこちょこ調べてみてはいるのですが、
実装出来そうな方法が、「ASPI(SPTI)」、「MMC(マルチメディアコマンド)」
位しか出てきませんでした。
この辺を使用してCプログラムを書いたことがある方いらっしゃいませんでしょうか?
0355デフォルトの名無しさん
NGNGDirectXはCでも使えなかったっけ?
0356デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG答えるな。>>343 が図に乗ってスレ違いに気付いていない。
0359343
NGNG図に乗っていません。本気で困っています。
たしかにC以外のlibやapiを使うと言う意味ではスレ違いかもしれませんが、
他に適切なスレが見つからなかったので、ここで聞いています。
適切なスレをご存知であれば、誘導してもらえないでしょうか。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG0364343
NGNG0365デフォルトの名無しさん
NGNG>359
>図に乗っていません。本気で困っています。
おまいさんが困っているかどうかなどこっちには関係ない。
>他に適切なスレが見つからなかったので、ここで聞いています。
で、スレッドの検索ぐらいしたんだろうな?おい。
Win32API質問箱 Build23
http://pc5.2ch.net/test/read.cgi/tech/1095534704/
【初心者歓迎】C/C++室 Ver.10【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1097416187/
鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/
0366343
NGNGどうもです。そっちに移動します。
DirectXで実装できなそうだったら、戻ってくるかも知れませんが、
その時は、またよろしくお願いします。
>>364は、俺じゃないです。
よくそうやってからかえるよな。あんた最悪だな。
0367デフォルトの名無しさん
NGNG>>354 はだれ?
0368デフォルトの名無しさん
NGNGおいおい、このスレには戻って来ちゃだめだっつーの。
後、最後の1行は余分。2ch で質問するなら煽り耐性は持っててほしい。
とりあえず自分の心の中だけで罵っとけば平和。
0369343
NGNGスレッド検索はしました。
「【初心者歓迎】C/C++室 Ver.10【環境依存OK】 」は見つけたんですが、
こっちとの違いが良く分からなかったので。
(>>1を読んだらすれ違いだと分かりました。)
↑のほうが適切だったんですね。以後、気をつけます。
今更書いてもしょうがないかも入れませんが、Win32Apiではなく(Dos)Commandを
作るイメージでした。
(俺が、細かいことまで書かなかったのが原因です、すみません。)
>>367
>>354は自分です。
>>368
ベタのC言語専用スレだったんですね。すみません。
0370デフォルトの名無しさん
NGNGどこが違うのでしょうか?
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG0373370
NGNG0374デフォルトの名無しさん
NGNGそのexitはやばいんじゃないの?
abortならそれでもいいけど。
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG// (中略)
printf("あああ%cいいい",a);
これで、「あああいいい」という風に、空白も無しに表示させるにはaに何を代入すればいいのでしょうか?
0380デフォルトの名無しさん
NGNGa='\0'
0381デフォルトの名無しさん
NGNG// 中略
printf("あああ%sいいい", a);
として a[0] に \0 を入れる。
0382デフォルトの名無しさん
NGNG気は確かか?
0383デフォルトの名無しさん
NGNG問題変えるなよ。
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGmain()
{
malloc(1);
exit(0);
}
これがOKと言いたいだけな消防と話すことはない
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGグローバル変数が二重定義になることがあるのですが、
それを避けるにはどうすればよろしいのでしょうか?
0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNGextern で宣言と定義を区別
初期値を指定しない
0391デフォルトの名無しさん
NGNG実体が1つのはずのものが二重定義になるときは>>390
0393デフォルトの名無しさん
NGNG複数の .c ファイルで同じヘッダファイルを使うときはどうなのでしょうか?
0394デフォルトの名無しさん
NGNG>>390
0395デフォルトの名無しさん
NGNG>>392の4行目でいっている通り
0396デフォルトの名無しさん
NGNGヘッダにグローバル変数は書かない事を勧める。
IDEなら良いが、素のエディタでは把握できなくなる。
0397デフォルトの名無しさん
NGNGxxx.h では変数を extern 宣言して、yyy.c で変数の実体を定義すればよいのでしょうか?
0398デフォルトの名無しさん
NGNGレス・ハンコック「C言語入門」という本を見てみたら、冒頭のサンプルソースに#include <stdio.h>なしにprintf()関数を使ってるソースを出してるんですが、一応コンパイルできるんでしょうけども、入門書的にはアリなんでしょうか?
それとも昔はこれでよかったんでしょうか?
0399デフォルトの名無しさん
NGNG御親切なアドバイスをありがとうございましたm(_ _)m
またどうしても分からなかったら質問させて頂きます。
0400デフォルトの名無しさん
NGNGリンカのデフォルトに入っている処理系は多い。
たとえばVCだと、
#pragma comment(linker, "/nodefaultlib:\"libc.lib\"")
として実行ファイルサイズを切り詰める場合もある。
0401デフォルトの名無しさん
NGNGいい訳がない。もしそれよりも前のどこかに「冗長になるから省く」などと
書かれていれば理解できるけれども。
0402デフォルトの名無しさん
NGNGなんかズレてないか? なぜリンカが出てくる?
>>398
昔はそれでよかった。
今でもプロトタイプを省略しても間違いではないのだが、省略するメリットは無く、思わぬデメリットを食らうこともある。
よって、入門書的にはNG。
0403デフォルトの名無しさん
NGNG全てコンパイルされるんですか?
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNGプリプロセッサ→コンパイラ→リンカ
の順に動くから、#include が先に展開される。
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG○#ディレクティブを処理するプログラム
×ヘッダファイルを処理するプログラム
0408デフォルトの名無しさん
NGNG前処理
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGちょっとうるさいけど char a='\a';
0411デフォルトの名無しさん
NGNGスタイルが許されているのでしょうか?
0412デフォルトの名無しさん
NGNGは?
a = 1;
は許すが、
a = (1);
はコンパイラで弾けって事か?
0413デフォルトの名無しさん
NGNGif a {}
はなぜ弾くのかってことじゃないか?
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNGおまえくだらない話題ほどよく絡みますね
0416デフォルトの名無しさん
NGNG文法的にそういう決まりになっているから。
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGガキかお前は
0419デフォルトの名無しさん
NGNGそんな無駄な仕様は入れない。
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGchar a[2] = {'\0', '\0'};
a[0] = 'a';
printf("->%s<-\n", a);
a[0] = '\0';
printf("->%s<-\n", a);
0423デフォルトの名無しさん
NGNG%sぢゃねーて
0425デフォルトの名無しさん
NGNG昔からCではreturnを書かない時は最後の評価式の値がそのまま戻値だ。
最近のコンパイラは関数定義で戻値の型が指定されているときはreturnが必要で、
戻値がvoidの時は逆にreturnを書くな。とコンパイルエラーが出る。
ただそれだけ。
0426デフォルトの名無しさん
NGNG大嘘を書くな、大嘘を。
0427デフォルトの名無しさん
NGNG使えるSTLみたいなライブラリはありませんか?単純なものでいいんですが、
できればGPLでないやつがいいんですが・・・
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGこの際boostがGPLかどうかは殆ど関係ないと思うのだが。
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG何が大嘘?
0432デフォルトの名無しさん
NGNG× 昔から
○ 昔は
じゃないか?
0433デフォルトの名無しさん
NGNGプ
0434デフォルトの名無しさん
NGNGおいおい。
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGreturn;は?
0437デフォルトの名無しさん
NGNGとあるんだから、、
0438431≠425
NGNG0439デフォルトの名無しさん
NGNGうるさくなったな。エラー吐くんだろ。わー人具じゃないんだろ?
0440デフォルトの名無しさん
NGNGエラーになるのは、voidとしているのに値を返している場合。
それ以外は出ても警告のみじゃないかな。
#C99は知らん。
0441デフォルトの名無しさん
NGNGError - voidなのにreturnが書かれとる。
Warning - scanf使うのはやめときや。
Warning - gets使うのはやめときや。
コンパイルに失敗したで。直しときや。
--------------------------------------------------
0442デフォルトの名無しさん
NGNGその中の人がさんまさんだったら余計なことが80%は占めるんだろうな。
0443デフォルトの名無しさん
NGNGやな
0444デフォルトの名無しさん
NGNG3つとも外れじゃスカタン
0445デフォルトの名無しさん
NGNG/tmp/cccaJuBA.o(.text+0x18): In function `main':
: warning: the use of `mktemp' is dangerous, better use `mkstemp'
0446デフォルトの名無しさん
NGNG#include <stdio.h>
int test()
{
volatile int a = 123;
volatile int b = 456;
volatile int c = a + b;
}
int main(void)
{
printf("result = %d\n", test());
return 0;
}
0447デフォルトの名無しさん
NGNGネタのマジレスするとw
1.test()は戻り値を返せ
2.マルチスレッドでもないローカル変数ごときにvolatileを使うな
0448デフォルトの名無しさん
NGNGたまにはソースとアプリケーションだけじゃなくコードも眺めてみれ
っとそれはC言語じゃないな
0449デフォルトの名無しさん
NGNGもしかしてアキュムレータの値が戻り値になるっていう話のことを言っているのですか?
0450デフォルトの名無しさん
NGNG欲しいな・・・
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG> スタイルが許されているのでしょうか?
大昔はつけなければいけなかったから。
大昔といっても、void型が導入されるよりはずっと前、
かつ、 += という演算子ができたよりはあと、だ。
0454デフォルトの名無しさん
NGNG> ↑
> やる気のなさが致命傷
じゃあ
//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//**//
0455デフォルトの名無しさん
NGNG1.foo / hoge
2.foo % hoge
1 と 2 ではどっちが遅いですか?
0456デフォルトの名無しさん
NGNG比較する以前に計算自体が違うわけだが
0457デフォルトの名無しさん
NGNG>>455 の1と2はどっちが速いとか遅いとかじゃなくて不可分の関係
0458デフォルトの名無しさん
NGNGストディオ?
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNGすたっどあいお、スタッドアイオともにgoogleで検索してみたけどともに0ヒットでした
本当にこの読み方なんですかぁ?
0461デフォルトの名無しさん
NGNG標準入出力
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1095075678/669
・アルゴリズム・データ構造の説明(少なくていいです)
・スピードやメモリの効率向上のためなど工夫した点
を聞きたいのですが、おねがいします
0466デフォルトの名無しさん
NGNGそこらへんに何個も貼り付けてんじゃねーよカスチンが
0467デフォルトの名無しさん
NGNG何個もって2個しかない
つーか質問スレなんだから答えてやれ
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG自演モツ彼
>ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
0470デフォルトの名無しさん
NGNGってあるでしょうか?(C言語で)
やりたいのは、指定ディレクトリ配下にファイルが生成されたら、その
ファイルの内容をチェックする仕組みを作りたいのですが、ディレクト
リはルートから複数(可変数)ディレクトリ下ったところに生成され、
なおかつファイル数が膨大なため、いちいちチェックしていると非常に
時間がかかってしまうためです。
もしご存知の方がいましたらお知恵をお貸し下さい。
0471デフォルトの名無しさん
NGNGnetint/in.h
arpa/inet.h
sys/socket.h
fcntl.h
unistd.h
errno.h
がコンパイルできるコンパイラ教えてください。
VC++6.0ではできませんでした。
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNG聞く前に実測しろ
理屈の上では完全に等速のはず
Cでもアセンブラでもいいから
除算プログラムを自分で書いてみれば明らか
商を求めるアルゴリズムと
余を求めるアルゴリズムが
全く同じになることがわかる
0476デフォルトの名無しさん
NGNG> コンパイルできるコンパイラ教えてください。
根本的なところが解ってない悪寒。
ヘッダファイルがないんでしょ?
で、上3つは winsock2.h で代用できればラッキー。
fcntl.h は、あるはずだ。
unistd.h はインクルードしなくて宜しい。
まあ多分、エラーが山ほど出て来るだろうな。
0477デフォルトの名無しさん
NGNGあんた馬鹿?
0478デフォルトの名無しさん
NGNG激しくスレ違い。お好きなところへどうぞ。
ネットワークプログラミング相談室 Port11
http://pc5.2ch.net/test/read.cgi/tech/1096187183/
★初心者にVisual C++を教えるスレ★ Part14
http://pc5.2ch.net/test/read.cgi/tech/1093672937/
【初心者歓迎】C/C++室 Ver.9【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1094494997/
C言語なら俺俺に聞け! Part 87
http://pc5.2ch.net/test/read.cgi/tech/1090652323/
最高に頭悪そうな発言してください in ム板 (2)
http://pc5.2ch.net/test/read.cgi/tech/1090324689/
0479デフォルトの名無しさん
NGNGあんたも馬鹿?
0480デフォルトの名無しさん
NGNG聞く前に実測しろ >おまえの脳の性能
0481デフォルトの名無しさん
NGNGint waru( void ) {
int foo = 4;
int hoge = 2;
return foo / hoge;
}
int jyouyo( void ) {
int foo = 4;
int hoge = 2;
return foo % hoge;
}
0482デフォルトの名無しさん
NGNG.file "test48-1.c"
.text
.p2align 4,,15
.globl waru
.type waru, @function
waru:
pushl %ebp
movl $2, %eax
movl %esp, %ebp
popl %ebp
ret
.size waru, .-waru
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.3.4 (Debian 1:3.3.4-13)"
.file "test48-2.c"
.text
.p2align 4,,15
.globl jyouyo
.type jyouyo, @function
jyouyo:
pushl %ebp
xorl %eax, %eax
movl %esp, %ebp
popl %ebp
ret
.size jyouyo, .-jyouyo
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.3.4 (Debian 1:3.3.4-13)"
0483デフォルトの名無しさん
NGNGその前に
gcc -O2 -S test48-1.c test48-2.c
0484デフォルトの名無しさん
NGNGやーい作れねえ
低脳確定
0485デフォルトの名無しさん
NGNGおまえ >>457 読んでないだろ?
それとも意味分からんの?
0486デフォルトの名無しさん
NGNGxは86じゃなくオマエのあたま
0487デフォルトの名無しさん
NGNGなにいってんの?
>>455への説明だよ?
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNGおい、アセンブラ読めない低脳
除算でも剰余でもなくなってることに気付・・・けるわけねえな (プププ
0490デフォルトの名無しさん
NGNGやーいつくれねーって意味解からない。
何を作って欲しいの?
0491デフォルトの名無しさん
NGNG-a0
3643:0000 mov dx, 0004
3643:0003 mov ax, 0000
3643:0006 mov cx, 0064
3643:0009 div cx
3643:000B
-t=0
AX=0000 BX=0000 CX=0000 DX=0004 SP=FFEE BP=0000 SI=0000 DI=0000
DS=3643 ES=3643 SS=3643 CS=3643 IP=0003 NV UP EI PL NZ NA PO NC
3643:0003 B80000 MOV AX,0000
-t
AX=0000 BX=0000 CX=0000 DX=0004 SP=FFEE BP=0000 SI=0000 DI=0000
DS=3643 ES=3643 SS=3643 CS=3643 IP=0006 NV UP EI PL NZ NA PO NC
3643:0006 B96400 MOV CX,0064
-t
AX=0000 BX=0000 CX=0064 DX=0004 SP=FFEE BP=0000 SI=0000 DI=0000
DS=3643 ES=3643 SS=3643 CS=3643 IP=0009 NV UP EI PL NZ NA PO NC
3643:0009 F7F1 DIV CX
-t
AX=0A3D BX=0000 CX=0064 DX=002C SP=FFEE BP=0000 SI=0000 DI=0000
DS=3643 ES=3643 SS=3643 CS=3643 IP=000B NV UP EI PL NZ NA PO NC
3643:000B 03D9 ADD BX,CX
-q
C:\>
0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGこうしないといけなかったか。。。
アセンブリ見てなかった。
$ cat test48-1.c test48-2.c
int waru( int foo, int hoge ) {
return foo / hoge;
}
int jyouyo( int foo, int hoge ) {
return foo % hoge;
}
0495デフォルトの名無しさん
NGNGhttp://debug.com/
0496デフォルトの名無しさん
NGNGdebug.exe な
0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG(1)大学でプログラミング(C言語)を教えている先生って
ISOなりJISなりのCの規格を直接調べているのが普通なんでしょうか?
(2)本格的に言語を学ぶ場合には(1)の書籍って必須なんでしょうか?
0500デフォルトの名無しさん
NGNG(1)いいえ
0501デフォルトの名無しさん
NGNG(2)いいえ
0502デフォルトの名無しさん
NGNG(2)はい
0503デフォルトの名無しさん
NGNG人に教える立場の人間ならば、持っていて然るべき。
それ以外ならどうでもいい、かな。
0504デフォルトの名無しさん
NGNG「普通」を定義せよ
0505499
NGNG実感が沸かなかったりします(スンマセン
プログラミング(とりあえずC)を本格的に勉強したいと思っているんですけど
値段にビビッっているんですよね、僕。
>>504
多数派とか8割以上とかってあたりです。
0506デフォルトの名無しさん
NGNGその定義なら標準偏差で 10〜90 の範囲に含まれるものってことになるな
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNG生データが必要だな
調査がんばれよ
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG強い理由が生じるまで【素直でいろ】。
0511デフォルトの名無しさん
NGNGfor(;この辺;)
の ++i と i++ は意味がぜんぜん違うから使い分けろ。
0512デフォルトの名無しさん
NGNGなんか似たような質問、最近みたな
このスレ的答えならば、実測しろ。
0513デフォルトの名無しさん
NGNGC++じゃないので気にするな
0514デフォルトの名無しさん
NGNGアセンブラ嫁
0515デフォルトの名無しさん
NGNGi++は計算してからインクリメントする。
(例)
int main() {
int i=0, j=0;
printf("%d,%d\n", i++, ++j);
return 0;
}
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG今からでも「わざわざ」憶えろ。それほどのことだ。>汗
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG(;_;) < (T_T)
0521デフォルトの名無しさん
NGNG無限ループを作るとき、以下のように使い分けます。
#define _ 1
#define T_T 1
for (;_;) {
// ...
}
while (T_T) {
//...
}
0522デフォルトの名無しさん
NGNG↓多分Linux限定だけどこの辺。
http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/dnotify.txt.html
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG激しくさんくすこ
0525デフォルトの名無しさん
NGNGswitch( optionChar )
{
case _T('o'): hoge; break;
case _T('v'): hage; break;
case _T('-'): hege; break;
}
とか出てくんの。なんかかわいいの。
0526デフォルトの名無しさん
NGNG1 は必ず[0]から入り、歯抜けは無い。但し、いくつ 1 が入るかは不定。
で、1 が入っている個数分の桁を 1〜3 の値で表示する。
例)
a[0] が 0 → 表示なし
a[0] が 1
1
2
3
a[0] a[1] が 1 → 1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 を表示 (上のように各表示改行して)
a[0]〜[2] が 1 → 1,1,1 1,1,2 1,1,3 1,2,1 1,2,2 1,2,3 ・・・ 3,3,3 を表示(同)
a[0]〜[3] が 1 → 1,1,1,1 1,1,1,2 1,1,1,3 1,1,2,1 1,1,2,2 ・・・ 3,3,3,3 を表示(同)
↓
以下同様(最大[0]〜[9])
どう作ればエレガントかなぁ(´・ω・`)
0528デフォルトの名無しさん
NGNG0529ぼるじょあ ◆yBEncckFOU
NGNG0530デフォルトの名無しさん
NGNGwhile(i < 10 && a[i]) i++;
これでi桁になるわな。
0531デフォルトの名無しさん
NGNG最小値を1,1,1,1,1
最大値を3,3,3,3,3
に設定して一つずつインクリメントすればいいんじゃ?
0532デフォルトの名無しさん
NGNGそれじゃ a[10]じゃ収まらないし・・・うーん?? どゆこと?
0533デフォルトの名無しさん
NGNG0534530
NGNG#include <stdio.h>
#include <string.h>
char temp[20];
void inc(int digits, int n){
if (n > 1){
strcpy(temp + 2 * (digits - n), "1,");
inc(digits, n - 1);
strcpy(temp + 2 * (digits - n), "2,");
inc(digits, n - 1);
strcpy(temp + 2 * (digits - n), "3,");
inc(digits, n - 1);
}else if (n == 1){
printf(temp);
printf("1\n");
printf(temp);
printf("2\n");
printf(temp);
printf("3\n");
}
}
int main(){
int a[10] = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0};
int n = 0;
while(n < 10 && a[n]) n++;
if (n > 0) inc(n, n);
}
0535デフォルトの名無しさん
NGNGprintf(t + 1); がちょっとトリッキーだけど、ま、こんな感じかなぁ。
#include <stdio.h>
#define N 10
#define R 4
void PrintRec(int a[], int p)
{
static char t[N * 2 + 2], *u = t;
int i;
if (p < N && a[p]) {
*u++ = ',';
for (i = 0; i < R; i++) {
*u++ = '0' + i; PrintRec(a, p + 1); u--;
}
u--;
} else {
*u++ = '\n'; *u = '\0'; printf(t + 1); u--;
}
}
int main(void)
{
int a[] = {1, 1, 1, 0, 0, 0, 0, 0, 0, 0};
PrintRec(a, 0);
return 0;
}
0536530
NGNG0538535
NGNGfor (i = 1; i < R; i++) {
に修正してくれ。
0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG難読化してるんじゃないかと疑いたくなる。
0542デフォルトの名無しさん
NGNG1,2,3 による組み合わせを列挙する処理を別々でつくっちゃだめなの?
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGすっげかわいい
0547デフォルトの名無しさん
NGNG0548470
NGNG試してみました。ディレクトリ内で更新があることは検知できるのですが、
どのファイルが更新(作成)されたか?という所までは取れないみたいですね…
なにか方法があるのかもしれませんが…
もう少し調べてみます。どもでした。また何か情報がありましたら追加情報を
お待ちしています(^^;;
0549デフォルトの名無しさん
NGNG更新される以前の状態を自分で保持してればいいだけでは?
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNG特に無い。
0552550
NGNGcharのポインタから配列の終わりを探そうと四苦八苦していたのですが
これでようやく諦めがつきました。
0553デフォルトの名無しさん
NGNGそのやり取り何度も見たぞ。
0554470
NGNG階層が固定、小数のファイルならそれでも良いのですが、ルート以下の階層数
は不定であり、その中に含まれるファイル数も膨大で(一階層下に数万ファイル、
全体で数百万ファイル)ある事を想定しているため、前回の情報を保持して…っ
て言うのは非現実的なんです(´;ω;`)
また秒間数件のファイルが作られる事もあり、単純に各階層化をチェックして…
って事も無理なのです(処理スピードが追いつかない予感がして…)。
なのでファイルが作成に対して機能をフックするみたいな事が出来ないかと
思い、質問させていただきました(Windowsなら簡単なんですが…)。
何か妙案がありましたらご教授お願いします(^^;;
0555デフォルトの名無しさん
NGNG内容についてなんですが、
|…つまり、pとqが同じ配列の要素をさしていれば、==、!=、<、>=
|などの関係演算子は正常にはたらく。
(略)
|しかし、同じ配列のメンバーをさしていないポインタ同士の演算や
|比較を行うと、結果は不定となる
前半部は分かるのですが、後半部については例えば
char *p = malloc(〜);
char *q = malloc(〜);
if (p == q) 〜
このケースで大小比較がまずいのはわかるのですが、==による比較も、
実は規格的にはまずいということになるのでしょうか。
0556デフォルトの名無しさん
NGNGなにがまずい?
0557デフォルトの名無しさん
NGNG後者はまずくありません。
0558555
NGNGいえ、後半部分に、同じ配列のメンバーをさしていないポインタ同士の
演算や比較を行うと結果は不定となるとありましたので、
p==q という比較演算の結果が不定とはどういうことなのだろうかなと、、
0559デフォルトの名無しさん
NGNGp==q という比較演算の結果が不定ではありません
0560デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNG書いた奴の気持ちになって読め
0563555
NGNG前半部の例は「関係演算子は正常にはたらく」例として
挙げられていますから、後半部の「しかし〜」以降の内容は
「関係演算子は正常にはたらかない」ということを
暗に示しているのだと思うのですが、そうではないのでしょうか
0564デフォルトの名無しさん
NGNG>比較を行うと、結果は不定となる
=「もし p!=q ならば、p==q または p<q または p>q」
別に矛盾はしていない。
ただ、p!=q なら p!=q であるのは間違いないだろうな。
何しろ
>…つまり、pとqが同じ配列の要素をさしていれば、==、!=、<、>=
>などの関係演算子は正常にはたらく。
=「もし p==q ならば、p==q」
だといっているのだから。
0565デフォルトの名無しさん
NGNGそれは間違いないだろう。p!=qなのだから。
しかし、同じ配列のメンバーをさしていないポインタ同士の演算では
常にp!=qが成立するということが保証されているかどうかの問題だろ?
不定であるのならば、規格としては保証されていないということでFA?
0566デフォルトの名無しさん
NGNG仕様はともかくデファクトではどう扱われるのか興味ある
0567555
NGNG「比較を行うと結果は不定」の結果というのは
比較演算の結果ではなく、そういうことを指して言ってたんですか…
何とも分かりづらいですが、比較演算の結果としては
正しい論理値が得られるわけですね。安心しました。
| 同じ配列のメンバーをさしていないポインタ同士の
| 演算や比較
意味があるかないかは別として、
char c1, c2;
char *p1=&c1, *p2=&c2;
if (p1 < p2) 〜
このような比較演算を実行すること自体は
規格上問題はないのでしょうか。
0568デフォルトの名無しさん
NGNGデファクトでは直感的な理解で問題ないのでは?
大抵はポインタ=そのマシンにおけるメモリアドレスとして扱われてるだろうし。
0569デフォルトの名無しさん
NGNGリークは問題なかったのですが、長時間(2、3時間ぐらい)続けていたら
mallocが0を返す事がありました。
メモリのブロックの断片化か何かでメモリ確保できなかったと想像していますが、
プログラムの性質上、メモリ破壊は考えにくく、
再現性がないので原因が特定できていません。
これを防止する方法はあるでしょうか。
(WindowsXPSP1 VC6SP6)
とりあえず再発したら同じサイズのメモリ片に対してmalloc/freeを繰り返さずに
キャシュしておく方法を試すつもりです。遅いですし。
0570デフォルトの名無しさん
NGNG但しchar配列を文字列として扱っているなら'\0'で終わるのが通例。
0571デフォルトの名無しさん
NGNGになることがなかったっけ
0572デフォルトの名無しさん
NGNGラージポインタでもなんでも、全く同じ値になったら駄目だろう。
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG最小限のコード出せ
0575デフォルトの名無しさん
NGNGポインタ変数の値を変更したのなら、呼び出し元には反映されんよ。
0576デフォルトの名無しさん
NGNG演算を実行すること自体は問題ない。
どんな値が返ってくるかはわからないが、少なくともディスプレイが突然爆発したりはしない。
0578デフォルトの名無しさん
NGNG原因はやっぱり宇宙線以外考えられないから、
対策としては鉛の板でパソコンを覆うことだね。
0579573
NGNG{char i=0;
char ss[80]
int a[80], *apt=a;
gets(ss);
op(ss,a,apt);
printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);
void op(char ss[],int a[],int *apt)
{
char i=0;
while(a[i]){a[i]=ss[i++];}
apt=a;
}
0580573
NGNG0581デフォルトの名無しさん
NGNGcreatとかopenのシステムコールをフックするモジュール書けば検知できるけど、
一般的にはファイル作る側が勝手に作るんじゃなくて、作る時に管理プロセスに
通知するとかDBに登録するとかの構成にしたほうがスマートだろう。
Linux板行けばもっといい方法教えてくれるんじゃない?
0582569
NGNGありがとうございました。
仰るとおり宇宙線が原因でした。
鉛の板をパソコンに覆ったところ、無事対策できました。
今後再発するようでしたら鉛の板を増築しようと思います。
0583デフォルトの名無しさん
NGNG宇宙線の影響はほとんどないと思われます。
もっとも有力な原因はあなた自身の電波ではないでしょうか。
0584デフォルトの名無しさん
NGNGgets()はさておき、op()の第三引数意味無かったり、a[i]=ss[i++];とか
突っ込み所は多いけど、そのコードなら表示内容が0ばっかにはならんだろ?
0585470
NGNGありがとうございます。実はファイルを生成する側のモジュールは
自分達で生成したものではなく、とある製品が生成するものなので
こちらの都合にあわせてDB等に通知してもらう事が出来ないんです(´;ω;`)
>Linux板行けばもっといい方法教えてくれるんじゃない?
ですね、アドバイスどもでした。そちらでも聞いてみます。
0586デフォルトの名無しさん
NGNG清書してみました。おいらもこれが全部0になるとは思えないのだが・・・
環境は何??
void op(char *ss,int *a )
{
for(;*ss; a++, ss++)
*a = (int)*ss;
*a = 0;
}
int main(void)
{
char ss[80];
int a[80], i;
gets(ss);
op( ss,a );
for( i = 0; a[i]; i++ )
printf( "%d\n", a[i] );
}
0587デフォルトの名無しさん
NGNGポインタについて根本的に判ってない悪寒。
指摘しようと思ったが、指摘箇所が二桁になりそうなのでやめた。
>>584
自動変数の内容が0になってしまう環境ならそれも有り得る。
0588デフォルトの名無しさん
NGNG何入力しても、0、0、0...です..
int main(void)
{char i=0;
char ss[80]
int a[80], *apt=a;
gets(ss);
op(ss,a,apt);
printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);printf("%d\n",a[i++]);
return 0;
}
void op(char ss[],int a[],int *apt)
{
char i=0;
while(a[i]){a[i]=ss[i++];}
apt=a;
}
0589デフォルトの名無しさん
NGNGおいおい、清書の段階でバク取っちゃダメだろ。
0590デフォルトの名無しさん
NGNG初期状態ではa[]の中身は何もないんだよな?
while(a[i])してるが、iはss[i++]でインクリメントされた後の数
つまり、a[i]の判定に使われているのはまだデータが入力されていない場所じゃないか?
a[0]の初期値がNULLだったら、そのまま終了してしまうぞ
ゼロフィルされたデータだったら、そりゃ0ばっかりになる
0591デフォルトの名無しさん
NGNGこりゃ釣られちまったぜ
0592デフォルトの名無しさん
NGNG0593_gunzip
NGNGkernel2.4付属ののdnotify.txt読んだ?
あとはdnotifyのソースを参照するとか。
IRIXで向けにFAMとかいうライブラリもあった気がする。
0594環境は..
NGNGCopyright (c) 1998-2004 AOK.
と
LSI C-86 Ver. 3.30c試食版
です。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNG>>591-592
0598594
NGNG0599デフォルトの名無しさん
NGNGところでcharを整数型として使うな。文字型だと思え。
整数はint使え。
0600デフォルトの名無しさん
NGNGintよりlongとかのほうがよくないか?
0601デフォルトの名無しさん
NGNGfloat MySin(float x,int m)内のルーチンがよく分かりません。
0602デフォルトの名無しさん
NGNG文字型とか言うな
0603デフォルトの名無しさん
NGNG>float MySin(float x,int m)内のルーチンがよく分かりません。
いや、それを作れという問題じゃないのか?
0604デフォルトの名無しさん
NGNGCに文字型なんてねーよ
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNGよう。元気か?前スレ893
レポートはちゃんとでっちあげることができたか?
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNGお前、スレ勘違いしてないか?
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGヴァカ?
0611デフォルトの名無しさん
NGNGint * restrict p[7];
とすると、コンパイラに怒られました。restrict ポインタ
の配列は意味がないのでしょうか?
エイリアスなし、変更なしのポインタを
int * const restrict p;
と宣言するとコンパイラの最適化を助けることができますか?
よろしくお願いいたします。
0612デフォルトの名無しさん
NGNGもちろんXには数字を代入するんだけど。
0613デフォルトの名無しさん
NGNGprintf( "%dの2n+1乗", number );
0614デフォルトの名無しさん
NGNG最初にxとnを読み込んでおいて、
さっきいった関数に読み込んで累乗の計算させるんですけど。
0615デフォルトの名無しさん
NGNGFTPで送信(PUT)することってできるんでしょうか?
fprintf(stdout, ゙ftp ホスト名・・・
なんて記述じゃ駄目でしょうか?
やはり、ソケットを使ったプログラムにするしか無いのでしょうか?
なにせ、ソケットの知識が無いもので。
すいませんが、よろしくお願いします。
0616デフォルトの名無しさん
NGNG#include <math.h>してpow()、powf()またはpowl()
0617デフォルトの名無しさん
NGNG君は素晴らしい。才能がある。intelやAMDに入社すべき。
0618デフォルトの名無しさん
NGNG無理です。
0619デフォルトの名無しさん
NGNG1984 taro okamoto [email protected]
1999 tanaka ichiro [email protected]
1945 takasi okada [email protected]
上記のリストをコンパイルしたプログラムに出力したのですが、
最初の一行目がメールアドレスのところしかディスプレイには表示されません。
あとの二行は正常に表示されるようです。
原因が不明で悩んでいます。どなたか教えてください。
0620デフォルトの名無しさん
NGNGコマンドファイルを生成してリダイレクトしちゃう?
#include <stdio.h>
main()
{
char command_buf[256];
FILE *fp;
fp = fopen( "command.txt", "w" );
fprintf( fp, "open HOSTNAME\n" );
fprintf( fp, "USERNAME\n" );
fprintf( fp, "PASSWORD\n" );
:
:
fprintf( fp, "quit\n" );
fclose( fp );
sprintf( command_buf, "ftp<command.txt" );
system( command_buf );
}
と思ったが、パスワードの入力部分で止まっちゃうだろうな・・・たぶん・・・
0621デフォルトの名無しさん
NGNGそういう用途のために、止まらないftpクライアントもあるよ。
0622デフォルトの名無しさん
NGNGまず、indexの宣言がポインタもしくは配列じゃないとダメでしょ?
ばっふぁおーばーらんで打ち壊してるよ。
あとはwhileの条件文だが、
while(scanf(中略)==4)
にした方がよくねぇか?
これだと、1文字とか入力した段階で終われるし。
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNGセンス良すぎ。笑ってたら聞こうとした質問忘れた
0625デフォルトの名無しさん
NGNG0626高校生
NGNG0627デフォルトの名無しさん
NGNGCで virtual 使いたくなったときの常套手段
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG書き方悪かっただけなのね・・・
お邪魔しますた
0631デフォルトの名無しさん
NGNG地球を貫く強い紫外線の一種です。
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNGUnix でならやった事あるよ。
/dev 配下のファイルに直接アクセスしたような記憶が...
0634デフォルトの名無しさん
NGNG1〜16の数をそれぞれ 1/16 で発生させるプログラム
を作りたいんですがどうやればいいのでしょうか?
誰かご教授下さい。
0635デフォルトの名無しさん
NGNGrand()%16+1
0636デフォルトの名無しさん
NGNG0637635
NGNGランダムにとは書いていないな。ならば(ry
0638デフォルトの名無しさん
NGNG確実に1/16発生させたければ、160個ほどの配列を作り1〜16を10回繰り返し入れ
シャッフルさせ、一個ずつ取り出す。無くなったら先頭に戻ってシャッフル
0639デフォルトの名無しさん
NGNG1を入力したときにsin(x)の値
2を入力したときにcos(x)の値
3を入力したときにtan(x)の値
お願いします
0640デフォルトの名無しさん
NGNGソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
0641デフォルトの名無しさん
NGNG"<" などによる大小比較と、 "-" による距離の算出は同じ配列上にあるポインタ同士で有効。
"==" などの等値比較にそのような制限は無い。
ttp://www-ccs.ucsd.edu/c/express.html#Less Than
ttp://www-ccs.ucsd.edu/c/express.html#Equals
0642デフォルトの名無しさん
NGNG-lmでいいと思います
と、エスパーレス
0643デフォルトの名無しさん
NGNGif(a==1){printf("%f\n",sin(x));}
とか。
0644デフォルトの名無しさん
NGNGint *a[3];
↑二つの違いは判るのですが、()によって
配列[3]へのポインタになるのか すっきりしません。
ルールですか?それとも[]演算子の結合ルールによる記述なのですか?
教えてください。
※a[x][j] = *(*(a+x)+j)
0645デフォルトの名無しさん
NGNGCの変数/関数宣言は大体
型 式;
の形になるように出来てる。
上の int (*a)[3] の場合、式 (*a)[n] の型が int になる。だから a は配列へのポインタ。
下の int *a[3] の場合、式 *a[n] の型が int になる。だから a はポインタの配列。
0646デフォルトの名無しさん
NGNGfor に限った話でもないし、ちょっと遅いレスだけど
int
main (void)
{
int i;
i = 0;
printf("%d, %d, %d\n", i++, i++, i++);
i = 0;
printf("%d, %d, %d\n", ++i, ++i, ++i);
return 0;
}
こんな感じになるのも注意。
0647デフォルトの名無しさん
NGNGどんな結果になるわけ?
0648デフォルトの名無しさん
NGNG環境依存なので自分の環境で試すがよろし
0649デフォルトの名無しさん
NGNGわかってて聞いてんだよ
0650デフォルトの名無しさん
NGNG質問の仕方が悪かったかもしれん、
大きさnの配列へのポインタを定義する際に
()を付与する必要があるが、付与しなければならない理由が今一
理解できていない。
0651デフォルトの名無しさん
NGNG0652706
NGNG* *
* * *
* * * *
* * * * *
を表示するプログラムを作りたいんですけどどうすればいいでしょうか?
0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNG宿題スレへ
ダディクールがC/C++の宿題を片づけます 32代目
http://pc5.2ch.net/test/read.cgi/tech/1097592876/
0655706
NGNG* *
* * *
* * * *
* * * * *
です。すみません
0656デフォルトの名無しさん
NGNGはいよ。
main(){printf("*\n * *\n * * *\n * * * *\n * * * * *\n");}
0657デフォルトの名無しさん
NGNG前置演算子 * は [] よりも優先度が低いからっす。似たようなものに、
void (*foo)(void);
void *foo(void);
とかあります。
0658デフォルトの名無しさん
NGNG「*a」ポインタ変数→[]演算子ってなって 配列へのポインタ?
こうなると、先にポインタ変数である事が定義されて
[]演算子で指定した大きさを参照するポインタになる?
逆に
*a[n]
[]演算子→「*a」ポインタ変数になって、ポインタ変数の配列になる?
これだと、配列である事が先に定義されてから
その一要素サイズがポインタ変数(int)である事が定義されるのか?
[]()の演算子の優先順位が関係してるから、()を付与しなければ
配列へのポインタとして定義できないのかな。
ここの所が知りたい。
※今、ちょうど この答えが出たんだが こういうことですか?
0659デフォルトの名無しさん
NGNG同様に
*(a+1)はa[1]
*(a+2)はa[2]...となる。
例えばポインタ変数aはとある領域、仮に1111番地
を指すとすると、
*(a+1)は1112番地
*(a+2)は1113番地...を示す。
つまり、a[i]はポインタ変数aの指す領域からi番目の場所を指す。
0660デフォルトの名無しさん
NGNGのように[]がくっつくと、
最初に配列であることが確定するので
*foo[]とすると
foo は "array" of pointer
となりまs
順番を変えて、
foo は "pointer" to array
にするには
(*foo)[]
としまs
そんな感じで
(*foo)()
で "pointer" to function
となりまs
...のようなことが
K&Rの5章12節にかいてありまs
0661デフォルトの名無しさん
NGNG全く頭に無かったけど。いつ使うの?
0662デフォルトの名無しさん
NGNG確保した際とか。
0663デフォルトの名無しさん
NGNGint main(void)
{
char a[100];
char *p;
char (*pp)[100];
char *p2;
p = &a[0];
pp = &a;
p2 = &a; /* warning */
printf("p = %08x, pp = %08x\n", p, pp);
p++;
pp++;
printf("p = %08x, pp = %08x\n", p, pp);
return 0;
}
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGありがとうございました。i++と++iの違いはわかります。配列やポインタについてはあの後復習したら理解できました。
>647>649
ガッ ガッ
0666555
NGNGありがとうございます
ここですね。<, =<, >, >= について以下のように書かれていました。
| You can compare two pointer values only if they are the addresses
| of elements within (or just beyond) the same array object.
2つのポインタが同じ配列の要素を指している場合に限って
それらの大きさを比較してもよいというわけなんですね。
もっともだと思います。また == の解説にはこのような
記述はありませんでした。納得です。
0667デフォルトの名無しさん
NGNG=<
=<
0668デフォルトの名無しさん
NGNG餓鬼みたいな揚げ足取ッてンなヨ
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNGどういう工夫してますか?
大文字? 小文字? アンダースコア使う?
ついでに GUID も混ぜ混んじゃう?
-------------------------
#ifndef MYLIB_H
#define MYLIB_H
XXXXX
XXXXX
XXXXX
#endif
-------------------------
ANSIでは、アンダースコアで始めちゃだめ、とかいろいろあるんですよね?
ん、アンダースコア2発だったかな??
0671デフォルトの名無しさん
NGNG_, ,_ ガッ ガッ _**_*
( ・д・)三●☆))Д´;((☆拳三(・А・ )
0672デフォルトの名無しさん
NGNG駄目駄目、駄目だからね
0673デフォルトの名無しさん
NGNGUNIXにもGUIDの考え方ってあるの?
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNGまぁやめとけと。
0676デフォルトの名無しさん
NGNGと用語サイトを検索した結果をそのまま書く俺。
0677デフォルトの名無しさん
NGNGOSはXPです。
とりあえず>>2のVC++toolkit2003を入れてみました。
0678デフォルトの名無しさん
NGNGそれでいいからやれよ
0679デフォルトの名無しさん
NGNGGUIDには、いつも世話になっています。
これって生成ソースが公開されてるのかな。
VisualStudioだったら「GUIDの生成」というメニューがあるけど、
gccの関連ツールとか関連ライブラリにはそんなのあるのかなと思って。
0680デフォルトの名無しさん
NGNGえぇこというねぇ〜
0681デフォルトの名無しさん
NGNGmain(void){
double x;
while(1){
printf("整数入力してね : ");
if(scanf("%lf",&x)!=1) break;
if(x>=0.0)
printf("%15s%22.15e\n%15s%22.15e\n%15s%22.15e\n",
"x=" , x ,
"sqrt(x)=" , sqrt(x) ,
"pow(x,x)=" , pow( x , x ));
else { printf("負数は無理 \n"); break; }
}
printf("EXIT \n");
}
結果
整数入力してね : 2
x= 2.000000000000000e+00
sqrt(x)= 1.414213562373095e+00
pow(x,x)=3.903118602145848e-322
整数入力してね : 3
x= 3.000000000000000e+00
sqrt(x)= 1.732050807568877e+00
pow(x,x)=-2.424659668443082e-231
整数入力してね : 4
x= 4.000000000000000e+00
sqrt(x)= 2.000000000000000e+00
pow(x,x)= 8.000000000000140e+00
なぜに?
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNGコンパイル時にwarningでてないか?
0684681
NGNGwarning出ません
ちなみにMac OS 10.2 gcc3.1 です
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNGtest.c : warning:#include <math.h>を忘れています
0687デフォルトの名無しさん
NGNGこんなんでも出すものがあるしな。
0688デフォルトの名無しさん
NGNGわかんねぇ。
0689681
NGNG#include <math.h> 入れてみました
結果
整数入力してね : 2
x= 2.000000000000000e+00
sqrt(x)= 1.414213562373095e+00
pow(x,x)= 4.000000000000000e+00
整数入力してね : 3
x= 3.000000000000000e+00
sqrt(x)= 1.732050807568877e+00
pow(x,x)= 2.700000000000000e+01
整数入力してね : 4
x= 4.000000000000000e+00
sqrt(x)= 2.000000000000000e+00
pow(x,x)= 2.560000000000000e+02
なにげに進歩?
0690デフォルトの名無しさん
NGNG進歩ってどういう意味だ?ちゃんと答え出てるだろ
0691681
NGNGアホですんません
答え出てますね パニ食ってました
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNGうるせえ馬鹿
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG>>646は実行したときの結果が思っているものとは違うかも、ってこと
i++ と ++i の違いじゃなくて、
i++, i++, i++ ってなっているときに
0, 1, 2 とか 1, 2, 3 となるのが当然とは限らない
>i++と++iの違いはわかります。
>理解できました。
とあるので、分かってくれているのかもだが
実行せずにレスしたんなら一度試しておけ
0696デフォルトの名無しさん
NGNGものなのですが... ひょっとして忘れられてるのかと思ってひつこく
もう一度投稿します。困っています。気になって夜も眠れません。
static const int * const restrict * const restrict * const restrict ppp = ...
とかなってしまいます。ひょっとしたら僕は騙されているのではないか?
と思い始めています。typedef で見た目スッキリにはできるけれども、
僕の心はスッキリしません。エイリアス一切なしのソースを書き、その
決意をコンパイラにオプションで伝えた方がよっぽどましです。
そもそも、restrict キーワードなんて使っている人は、
ぼ く だ け で す か ?
0697デフォルトの名無しさん
NGNGISO/IEC 9899:1999 6.5.2.2 -10
The order of evaluation of the function designator, the actual arguments,
and subexpressions within the actual arguments is unspecified.
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG貴方には関係の無い物です
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGmemcpyとか。
0703665
NGNG実行結果
2, 1, 0,
3, 2, 1,
ひえーっカウントダウンしてます!
表示の順番が逆に!
0704デフォルトの名無しさん
NGNGSun-OSだと昇順になるよ。
引き数をスタック渡しするCPUだと降順になると思われ。
0705デフォルトの名無しさん
NGNGそんな決まりは無い
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG*(a+J++)
は、a+何と書いたことになりますか?
0710デフォルトの名無しさん
NGNG当然 a+J++ と書いたことになります
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG*(a+(J++))と同じになると思われる
今、お遊びでVC++ .NETで
int i=1, j=2, k;
k = i+++j;
としてみたら、
k = (i++)+j
として処理された・・・i+(++j)とどっちになるかと思ったけど、つまらん結果だった
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG>>711 == >>713 && printf("乙\n");
0715デフォルトの名無しさん
NGNGなんか知らんがガンバレ。
0716デフォルトの名無しさん
NGNG>>711の補足として読んでおけばいいのかな?
>>709はJが0の場合の計算結果を知りたかったみたいだし
>>712のがちょっとおもしろかったので、俺も今試してみた。
i++++jもi+++++jも不可だな
i+++++jは(i++)+(++j)と処理したらMSを見直したんだが
0717デフォルトの名無しさん
NGNG((i++)++)+jでもi+(++(++j))でもなく、そうなるべきという根拠は何だ。
0718デフォルトの名無しさん
NGNG演算子は可能な限り長くなるように解釈すると仕様で決められていたと記憶しているが。
0719デフォルトの名無しさん
NGNGどんな働きをしますか?
0720デフォルトの名無しさん
NGNGそういう働き
0721デフォルトの名無しさん
NGNGいや、((i++)++)+jでもi+(++(++j))でも構わんのだけど、
i+++jを通すなら、i+++++jも適当な解釈で通してくれてもいいじゃん、って思っただけ
融通利かせてくれたら、ネタ提供してくれたMSを見直す、って意味だよ
0723デフォルトの名無しさん
NGNGとりあえず。
0724デフォルトの名無しさん
NGNGまた何かネタかと思った。
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG*++(++p) ってやっても大丈夫?
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG16でGUIアプリに挑戦中とかいう奴もいる。俺は18。始めて3ヶ月。
鬱だ。この差は埋められないのか...
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG初めまして、C言語を初めて1ヶ月もまだ経っていない16歳です。
メッセにてC言語のことを助言及び教えていただける方、募集中です。
私の質問に答えてくれる人、登録お願いいたします!!
0734デフォルトの名無しさん
NGNGはい..気持ち...いいです..(w
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNG++ 演算子の結果は右辺値なので不可。
0738デフォルトの名無しさん
NGNG/*compute Mass of Black Hole */
/*Print Data for M vs C vs P Plot */
#include <math.h>
#include<stdio.h>
main( )
{
float C0, /* Orbital circumference, km */
P0, /* Orbital Period, seconds */
G; /* Gravitational constant km**3/s**2 per solar
mass*/
float pi, MassHole;
G=1.327E11;
pi=3.14159;
for(C0=1E5; C0 < 1E7; C0=C0+2E5){
printf("C0 is : %f\n",C0);
for(P0=10; P0 < 1000 ; Po=P0+10){
MassHole=C0*C0*C0/(2*pi*G*P0*P0);
printf("%f %f\n",P0, MassHole);
}
}
}
上記のコードでコンパイルしようとしてもエラー E2451 未定義のシンボル P0( 関数main() )
トエラーメッセージが出てコンパイルできません。どうしたら解決しますでしょうか?
0739デフォルトの名無しさん
NGNG未定義なのはPoだろ
>for(P0=10; P0 < 1000 ; Po=P0+10){
エラーメッセージの意味を読み取る努力しろ
0740デフォルトの名無しさん
NGNGPoってなに?
おっぱいおっぱい!!
0741デフォルトの名無しさん
NGNG眼鏡かける。
0742デフォルトの名無しさん
NGNG"\x1b[33m" などを使っても、文字に色がつきません。
どうすればよろしいのでしょうか?
0743デフォルトの名無しさん
NGNGそもそもなんで?
OS書くため生まれた言語としては
グラフィックが扱えないと言うのはいささか手落ち、
そんなことが あってたまるかの一言。
0744デフォルトの名無しさん
NGNGNT系統はANSI.sys入ってないからエスケープシーケンス不可
9xは標準で入っているから可の場合「も」ある
NT系統は自分でANSI.sys入れることが必須だが、
入れて正しく記述しても付かない人も多いし、上手いこと付いた場合でも
それを人に渡す場合、相手も入れてないと結局色はつけられない
0746デフォルトの名無しさん
NGNG適切なライブラリさえあれば、標準Cで十分可能ですが。
0747デフォルトの名無しさん
NGNG別にできないとは規定されてないぞ。
fread/fwrite で VRAM を読み書き出来るようにすれば良い。
0748デフォルトの名無しさん
NGNGオブジェクトモデルが規定されていないため cdecl のような非標準拡張が必要となったまで
リッチー氏が C を設計した当時、Unics はモノリシックカーネルでよかったので静的リンクについてしか設計をしていなかった
0749デフォルトの名無しさん
NGNG2000, 2003, XPなど ME以降に出たものはNTカーネルだから、
NT系統と言ってしまっていいだろう。
できないわけではない。
テキストファイルに一行書き加えるだけだが
ttp://kasai86.ld.infoseek.co.jp/dos/esc.htm
それでできるようになるのは「自分だけ」だ。
配布用には向かない
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG全ての環境のI/Oなんて標準化できない、
お前の使ってるヘボイPCとOSが世の全てじゃない。
0752デフォルトの名無しさん
NGNGT-engineみたいなの
0753デフォルトの名無しさん
NGNGC言語が出来た頃のコンピュータを見てきてからそれを言えヴォケ
0754デフォルトの名無しさん
NGNGcygwinのbashとかはどうやって色をつけてるんだろう?
0755デフォルトの名無しさん
NGNGconfig.ntは16ビットアプリ用だから32ビットコンソールアプリだとそれでも無理のはず。
32ビットアプリをNT上で動かすときにはこういうのを使うしかないよう。
http://www.kumei.ne.jp/c_lang/intro/no_58.htm
http://www.kumei.ne.jp/c_lang/intro/no_59.htm
どうしてもエスケープシーケンスを使いたいのならLSI-Cでも使え。
0756デフォルトの名無しさん
NGNGbash は コマンドプロンプト ではない
0757デフォルトの名無しさん
NGNG多項式の次数Nを読み込む
N+1個の係数a[0]・・・a[N]を読み込む
y=aN XのN乗+aN-1 XのN-1乗+・・・+a1 X+a0
=(((aN X+aN-1)×X+aN-2)×X+・・・+a1)×X+a0
【aNのNは下付きのちっちゃいNで、×は”かける”、Xは”エックス”】
読み込む部分はmain関数でおこない
多項式の計算する部分を関数にせよ
(戻り値は多項式の場合)
式がかなりわかりずらいですがなにとぞよろしく
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNGホーナー形式?
そんな難しい話ではないはずなのだが。。。
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNGなんだかよく分からなくてあの授業にはもうついていけんorz
0763デフォルトの名無しさん
NGNGもえぷろきたーー!!
0764デフォルトの名無しさん
NGNGエスパーでもないとこんな問題文読み取れない。
関数にしてほしいのは何だ?多項式の次数と係数を配列にでもして
引数にとって値を返すのか?
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG具体例をあげてみては?
0767デフォルトの名無しさん
NGNG数列のつもりなんだがそこらへんは伝わってた?
0768デフォルトの名無しさん
NGNG> ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
0769デフォルトの名無しさん
NGNGでも、ここで>>757解けるかたいたらよろ
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGなんでもかんでも他人のせいにする根性は
社会に出る前に直しておけ
0772デフォルトの名無しさん
NGNGあれ?、コマンドプロンプト上で動いてるようにしか見えないんだけど違うのか・・・
0773デフォルトの名無しさん
NGNGはい、なおします。
でも、大学でたら永久就職する予定なんだが...
永久就職も社会に出るのと同じか...
どっちにしろもうちょっと自分で努力します
0774デフォルトの名無しさん
NGNG永久就職とは?
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGあれ?永久就職しらん?
結婚すよ。
数学の助教授とね。
0777デフォルトの名無しさん
NGNG性格を注意されて永久就職するからって言い訳するのもなぁ・・・
なんていうか・・・orz
0778デフォルトの名無しさん
NGNGy=aN XのN乗+aN-1 XのN-1乗+・・・+a1 X+a0
これは
y=a_N*X^{N}+a_{N-1}*X^{N-1}+…+a_1*X+a_0
と書くとわかりやすい。
数式を書くとき、TeX風の疑似表現をしてみると良いでしょう。
0779デフォルトの名無しさん
NGNGおお〜、なるほどね。
有り難う御座います!
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGこれでも、貴族なかんじの大学なのに...
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG数学のことしか興味がなく、世間知らずでワガママなんだよな。
御愁傷様。
0785デフォルトの名無しさん
NGNGもうちょっとハッキリした答えが来るまで待ちたいんだが。
というか、誰か教えておくれよ
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNGC言語なんて要らないんじゃない?
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNGあー、情報の先生もそんなこと言ってたかも。
0790デフォルトの名無しさん
NGNG煽っても何も出てこないから諦めろ
0792デフォルトの名無しさん
NGNGといわれますが、何故なんでしょうか
0793758
NGNG汚いが、こんなんでどう?
#include <stdio.h>
#include <stdlib.h>
double evaluate(double* a, int N, double x, int level)
{
return level == N ? *(a + N) : evaluate(a, N, x, level + 1) * x + *(a + level);
}
int main(void)
{
double *a, x, f;
int N, i;
printf("Input degree of a polynomial:");
scanf("%d", &N);
a = (double*)malloc(sizeof(double) * N);
for (i = 0; i <= N; i++)
{
printf("Input coefficient of pow(x, %d):", i);
scanf("%lf", a + i);
}
printf("Input x:");
scanf("%lf", &x);
f = evaluate(a, N, x, 0);
printf("value:%lf", f);
free(a);
return 0;
}
0794デフォルトの名無しさん
NGNG順番が決ってないから。
0795デフォルトの名無しさん
NGNG#define IS_SPACE(x) ((unsigned char)(x) == 0xa1)
char* str = " ";
if(IS_SPACE(*str) && /* 1バイト目を比較 */
IS_SPACE(*(str+1)) /* 2バイト目を比較 */ )
{
}
と、いう風にやってみたんですが、うまく判定できません。
どこが間違ってますか?
0796デフォルトの名無しさん
NGNGつか文字コードは?
0797デフォルトの名無しさん
NGNGキタ――――(・∀・)――――!!!
どもどもー!
あれ?実行するとなんか・・・なんか??
数字を入れると答えが出る感じじゃないの?
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNG諦めて素直にstrcmp使うのはだめなん?
0801デフォルトの名無しさん
NGNG#define IS_SPACE(x) !strncmp(x," ",2)
char *str=" ";
if(IS_SPACE(str)){
0802デフォルトの名無しさん
NGNGでも、文字列の先頭から真面目にマルチバイト文字の処理していかないと、
誤認識する文字コード系が多い気もする。
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805758
NGNG・多項式の次数Nを読み込む
・N+1個の係数a[0]・・・a[N]を読み込む
の2つは満たしているはず。最初に"Input degree of a polynomial:"で次数を、
"Input coefficient of pow(x, n)"でx^nの係数を入力する。次にxを入力すると
xを代入した時の多項式の値が出力される。っていうか、問題の後半から問題文
そのものが意味不明だから、もしやることが間違ってたら参考に作り直しな。
0806デフォルトの名無しさん
NGNGEUC-JPは、ある漢字の2バイト目と別の漢字の1バイト目が、また別の漢字と同じバイト列に見えたり。
0808デフォルトの名無しさん
NGNGHoge data;
Tree* next; //姉妹Treeへのポインタ
Tree* child; //子Treeへのポインタ
};
こういう構造体で構成される階層データがあるのですが、
これを再帰無しで全検索するスマートな方法ってあるでしょうか。
スタックがつぶれてしまって…。
0809808
NGNG0810デフォルトの名無しさん
NGNGShift_JISでも問題は一緒
0811デフォルトの名無しさん
NGNGあたりまえだが移植性とかまったく考えてないし、
素直に801のstrncmp版使っとけ
0812デフォルトの名無しさん
NGNGアドレスだけスタックに入れて、プログラムの構造はループにする
0813デフォルトの名無しさん
NGNG一緒じゃない、問題はあるが違うネタ。全てが2バイト文字ならShift_JISは無問題。
使ってる領域見れ。
0814デフォルトの名無しさん
NGNG!再起だと思う。
0816デフォルトの名無しさん
NGNGどうせ再帰が使えないなら横型探索で。
#include <stdio.h>
#define Q_SIZE 1024
struct Tree {
int data;
struct Tree *next;
struct Tree *child;
};
void search(struct Tree *p)
{
struct Tree *queue[Q_SIZE + 1] = { p };
int i, j = 1;
for (i = 0; p = queue[i]; i++)
do {
printf("%d\n", p->data);
if (p->child)
queue[j++] = p->child;
} while (p = p->next);
}
int main(void)
{
struct Tree root = { 1 };
search(&root);
return 0;
}
0817デフォルトの名無しさん
NGNGわかりやすく解説した本ってありませんか?
リダイレクトしたときに、入出力関数の動きがどのような仕組みで
変わるのかを知りたいのですが?
0818デフォルトの名無しさん
NGNGそんな事言うと、ソース読めと言われますよ。
0819817
NGNG宜しくお願いします。
0820デフォルトの名無しさん
NGNGアセンブラコードでも吐かせて見てみるか
0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGttp://openbsd.secsup.org/src/lib/libc/stdio/
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG>リダイレクトしたときに、入出力関数の動きがどのような仕組みで変わるのか
単にstdoutの指す先が変わるだけじゃないの?
0827817
NGNG私、最近勉強始めたばかりで、
ほんとにまだ最初の方で、fprint()、scanf()のところでもう壁にぶち当たっています。
scanf()は、キーボードからの入力を変数に代入する関数であると説明がありますが、
エコーバックは、何がどのようにうやってくれているんだ?
scanf()がやっているのではないのか?
そして、それはリダイレクトするとどうなるんだ?
ってことがわかりません。
簡単な概要を取り敢えず知りたいのですが・・・
0828デフォルトの名無しさん
NGNG0829817
NGNG出力関数の場合、論理出力装置が変わるだけだと思うのですが、
入力関数の場合、エコーバックしたり、しなかったりという動きの変化は
どなっているのでしょう?
0830817
NGNGすみません。「論理出力装置」っていう用語ありませんでしたね。
yahooで検索しても引っかからない。
私の記憶違いでした。
0831デフォルトの名無しさん
NGNGエコーバックはOSが勝手にやっててCがエコーバックしてるわけじゃないし。
//今はINT21とかやらないからなー
0832デフォルトの名無しさん
NGNGhttp://www.slayers.nu/~kumasaka/Gyoumu/kbdhit.html
ここらへんを参考に関係ありそうなキーワードをひたすらググれば出てくるかも
0833デフォルトの名無しさん
NGNGgotoが・・・・・
0834デフォルトの名無しさん
NGNG何か問題でも?
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGオマエのソースだってどーせ break の嵐だろ
0838デフォルトの名無しさん
NGNGfor (;;) {
...;
...;
if (...) {
break;
}
...;
...;
break;
}
って感じだった。ループさせる意図が無いならgotoか、
さもなくばswitchかせめてdo whileにして欲しいと思った。
0839デフォルトの名無しさん
NGNGにelse{break;}をいれてるんですけど、これはいるもんなんでしょうか
いれずにしても、ちゃんとソートしました。
#include <stdio.h>
void main(void){
・・・・・int gakusei[]={165,158,170,156,175};
・・・・・int i,j;int temp;
・・・・・・for(i=0; i<5; i++){
・・・・・・for(j=i-1;j>=0;j--){
・・・・・・・if(gakusei[j]<gakusei[j+1]){
・・・・・・・temp=gakusei[j];
・・・・・・・gakusei[j]=gakusei[j+1];
・・・・・・・gakusei[j+1]=temp;}}}
・・・・・for(i=0; i<5; i++){
・・・・・printf("%d\n",gakusei[i]);}}
0840デフォルトの名無しさん
NGNG頼むから初心者スレに行ってくれ……
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGfor文で条件があわなくなったら勝手にぬけるんじゃ?
0843デフォルトの名無しさん
NGNG勝手に抜ける前に終了させてるんでしょ。
0844デフォルトの名無しさん
NGNG全てが2バイト文字ならEUCも無問題なんだが。
0845デフォルトの名無しさん
NGNGどこの参考書だ?それは挿入ソートとは違う。
0846デフォルトの名無しさん
NGNG文字の組み合わせで、2バイト目と1バイト目が別の文字と被る、
と、そもそも806のレスがあるでしょうに。
0847デフォルトの名無しさん
NGNG全てが2バイト文字なら文字位置が偶数番目か奇数番目かで
2バイト目か1バイト目かがすぐに分かるだろ。
0848デフォルトの名無しさん
NGNGまじですか?c言語で学ぶアルゴリズムとデータ構造
って本です。挿入ソートのアルゴリズムでのってました
0849デフォルトの名無しさん
NGNG挿入位置が決定するまで末尾から先頭にむかって値の交換を
くりかえしていると解説しています。
0850デフォルトの名無しさん
NGNGmain() {
printf(”Hello, World.¥n”);
}
0851デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG突然「全てが2バイト文字」という前提を持ち出した >>813 がアフォ
0854デフォルトの名無しさん
NGNG0855悲しい。
NGNGちょっとフォローしている人を見ると悲しくなるのは何故でしょうか?
0856デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG0859838
NGNG大丈夫、for (;;) {...}でも最後にbreakしたら大抵警告出るから。
do {..} while (0) を使えといっているわけではないことに注意してくれ。
0860デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1063177450/l50
0861デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNG今、Visual C++とBorland C++ Compilerで試したら出なかったが。
0865デフォルトの名無しさん
NGNG常識的に for (; ; )
do { } while (1); や while (1) は使わない。
それと同じ理屈だ。
0866デフォルトの名無しさん
NGNG従えばそれでいいと思うが。
0867デフォルトの名無しさん
NGNGっていうか、まずそのまぬけな本の名前を言えよ!
void mainなんていう書き方してる時点でだめだめだし、
初心者が間抜けな勘違いをしそうなインデントをわざわざしてるあたりが
間抜けな本だ。
まず書名を書け!
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG空気読め
0870デフォルトの名無しさん
NGNG#define MAX 5
main()
{
・・int g[MAX] = {165, 158, 170, 156, 175};
・・int i, j, t;
・・for (i = 0; i < MAX; i++) {
・・・・for (j = i - 1; j >= 0; j--) {
・・・・・・if (g[j] >= g[j + 1])
・・・・・・・・break;
・・・・・・else {
・・・・・・・・t = g[j];
・・・・・・・・g[j] = g[j + 1];
・・・・・・・・g[j + 1] = t;
・・・・・・}
・・・・}
・・}
・・for (i = 0; i < MAX; i++)
・・・・・printf("%d\n", g[i]);
}
こうかけば、そういう間抜けな勘違いをするやつもでてこない。
0871デフォルトの名無しさん
NGNGいいえ、どちらもだめです。
0872デフォルトの名無しさん
NGNGなんか冴えに欠けるなw
0873デフォルトの名無しさん
NGNGdo{
}while(0);
間にcontinue入れたらわからんでもないが、
これじゃループにもならんがな('A`)
0874デフォルトの名無しさん
NGNGレス読み返せ
0875デフォルトの名無しさん
NGNGSolaris2.8のccは警告が出た。
曰く、ループの終端に辿り着けないとさ。
0876デフォルトの名無しさん
NGNG勉強しとくのはVCとかC++でも大丈夫ですか?
何やっとけばいいかわからないんですけど、なにか作ったほうがいいでしょうか?
0877デフォルトの名無しさん
NGNG何を作ってる会社かも知らんのか!?
お前の人生それでいいのか!?
0878デフォルトの名無しさん
NGNG普通入社前でも知ってるものなんですか?
0879デフォルトの名無しさん
NGNGこのへん、おすすめ
http://www.kumei.ne.jp/c_lang/
題材ははっきり言ってえり好みしてても意味がない
所詮は付け焼刃ってとこ忘れていい気になってると一番痛いカウンターもらう
とにかく、色々ちゃらちゃら見て、やりたいのから逝け
有料製品でリッチにやるもよし、フリーでハングリーにいくもよし
まさしくあんたの人生だ、思うようにいけばいい
0880デフォルトの名無しさん
NGNG当たり前だ。自分がどんな仕事するかわからん所に行けるか!
0881デフォルトの名無しさん
NGNGdo{ 〜 }while(0)(最後に ; をつけない)なら
複数の文を含む関数っぽく使えるマクロ組むときに使うな。
#define HOGE(i) { foo(i); bar(j); }
と定義すると
if(〜)
HOGE(i);
else
piyo();
とするとコンパイルエラーになる
そこで、後に ; がつけられて、ループしないdo{ 〜 }while(0)を使って
#define HOGE(i) do{ foo(i); bar(j); }while(0)
とやればちゃんとコンパイルできるようになる。
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNGこれは、どう読めばいいのでしょうか?
0885デフォルトの名無しさん
NGNG一回しか実行しないけど括弧でくくりたい(==breakを書きたい)処理
}while(0);
でいいんじゃないの?
0886デフォルトの名無しさん
NGNGポインタの配列の配列
0887デフォルトの名無しさん
NGNGint poly[3]へのポインタの配列(要素数5)
0888デフォルトの名無しさん
NGNGそれは
int poly[5][3];
かも
0889デフォルトの名無しさん
NGNGそれはintの配列の配列
0890デフォルトの名無しさん
NGNGpolyは配列名だし
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGint (*donden)[3]=&oreryu;
int (*daichan[5])[3];
daichan[4]=donden;
0893デフォルトの名無しさん
NGNG2次元配列って言いたいのか?
0894デフォルトの名無しさん
NGNG何も言わずにただカッコでくくるだけじゃ物足りないの?
{
// 1回だけだよ〜
}
0895デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGbreakは?
0898デフォルトの名無しさん
NGNGむずい・・
(*poly[5])が3つあるってことだよね。
でも、そのpolyはintポインタが5つ。
0899デフォルトの名無しさん
NGNG違う。
配列へのポインタ(配列を指すポインタ)って分かる?
int a[3]で&aとすると得られるものの型なんだけど。
それの5つの配列。
int (*poly)[3];
これが配列へのポインタ(あくまでもポインタで配列ではない)で、それを配列にするとint (*poly[5])[3];
うまく伝わりそうにないなぁ。
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGC言語が難しい言語なのか、
それともここにいるやつらが馬鹿なのか。
0902デフォルトの名無しさん
NGNG便利なのは分かるがCではない。
そうだ、Cのソースファイルの // を /* に置き換えて行末に */を追加する処理を
作ってくれないか。ただし、ダブルクォーテーションで囲まれた文字列リテラルは
無視するように。
0903デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1092932484/
0904デフォルトの名無しさん
NGNGギコCを作るスレ
http://pc5.2ch.net/test/read.cgi/tech/1090324689/
0905デフォルトの名無しさん
NGNGC99
0906デフォルトの名無しさん
NGNG簡単だよ。マクロ作ればいいじゃん。
#define //(comment) /* comment */
0907デフォルトの名無しさん
NGNG余計なところまで展開されて・・・
0908デフォルトの名無しさん
NGNG構造体のポインタは
struct kouzoutai kouzoutai
kouzoutai.変数=100;
こういうのはできないの?
0909デフォルトの名無しさん
NGNGstruct kouzoutai *p;
p->hoge = 100;
0910デフォルトの名無しさん
NGNGぬ、ぬる、
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG正確にはNULLではなく不定なわけだガッ!!
0913デフォルトの名無しさん
NGNGいいえ。Cのコメントです。
私はBCPLの時代のくせで//ばかりでしたが、
Cで15年ほど前から//が使えるように拡張されている処理系が多かったのは
うれしかったです。
5年前に標準規格にもとりいれられたのは「いまさら」って感じです。
0914デフォルトの名無しさん
NGNG日下部先生も本に書いてたよね。
0915デフォルトの名無しさん
NGNGって人も、
#define REM //
#define rem //
#define ' //
#define # //
#define ! //
#define ; //
これで万事解決だね!
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNGif (rem != '#') rem='$';
0918デフォルトの名無しさん
NGNGネタニマジレスカコワルイ
0920デフォルトの名無しさん
NGNG{
char buf[64];
char **p=0;
fgets(buf, 64, stdin);
*p = (char *)malloc(sizeof(char) * 64);
p[0] = strtok(buf, " ");
printf("%s\n", *p);
free(*p);
}
こんな感じでポインタのポインタを使って、動的
に領域を確保したいんですけどどこらへんが
だめなんですかね、プログラムの途中で終
わってしまうんですけど。
0921デフォルトの名無しさん
NGNGの前に一行
p = (char **)malloc(sizeof(char *));
入れとけ
0922デフォルトの名無しさん
NGNG親切な人ありがとう。
0923デフォルトの名無しさん
NGNG>921したらfree()も忘れずに。
#キーワード抽出にはstrtok()よりもsscanf()使用をお奨め。
0924デフォルトの名無しさん
NGNGこのぼけって、最後の1つしかネタだと思わなかったわけだな...
0925デフォルトの名無しさん
NGNGp[0] = strtok(buf, " ");
↓
p[0] == *(p + 0) == *p
↓
*p = (char *)malloc(sizeof(char) * 64);
*p = strtok(buf, " ");
...
free(*p)
………あれ?
0926デフォルトの名無しさん
NGNG>
> *p = (char *)malloc(sizeof(char) * 64);
まず、ここで間違い。
> free(*p);
NULLかもしれないものをfreeしてる時点でまちがい
0927デフォルトの名無しさん
NGNGこれのことだろ
0928デフォルトの名無しさん
NGNGで確保した分はfree(p)
*p = (char *)malloc(sizeof(char) * 64);
で確保した分はfree(*p);で解放。
でいんですか?
0929デフォルトの名無しさん
NGNGちがうだろ。その上の5行の中の違いに気づかないのかよぼけ
0930いんですか?
NGNG0931教えて
NGNG例えば、file001,file002,file003・・という風につけていきたいのです。
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNGsprintf
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNG0936教えて
NGNG0937デフォルトの名無しさん
NGNGこいつ ぼけ
0938デフォルトの名無しさん
NGNGint num;
};
struct test *t;
としたとき、tの中のnumのアドレスをとるには、どう記述すればいいですか?
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNGstruct test {
int num;
};
void func(struct test *t)
{
int a = 10;
t->num = a;
printf("%d\n", t->num);
return ;
}
void func2(struct test *t)
{
int a = 10;
&(t->num) = &a;
printf("%d\n", t->num);
return ;
}
int main(void)
{
struct test t;
func(&t);
func2(&t);
return 0;
}
としたとき、func2がエラーになるのはなぜですか?
0941デフォルトの名無しさん
NGNG頼むから初心者スレに行ってくれ。
0942デフォルトの名無しさん
NGNGint *p;
j=1;
で、
i=j;
がOKで
&i=&j;
がNGなのとおなじ。
(変数のアドレスは書き換えられない)
やるなら
p=&j;
0943デフォルトの名無しさん
NGNG質問スレに何故居るんだ。
0944デフォルトの名無しさん
NGNG一応回答しているし、説明するのが面倒なんだろ。
#だったら放置すりゃいいのにとは思うが。
0945デフォルトの名無しさん
NGNGどうもありがとうございました。
0946デフォルトの名無しさん
NGNGほら質問者に無視されてる。
0947デフォルトの名無しさん
NGNG・自分が回答できないということを言いつつ
・相手より自分のほうが知識があると思わせることが出来る
矮小な自我を守るために必死なんですよ。(・∀・)ニヤニヤしてあげましょう
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG【初心者歓迎】C/C++室 Ver.10【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1097416187/
こういう名前のスレがあるからこっち逝けって意味なんじゃないの?
0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGint main(void)
{
char buf[64];
char *p=0;
fgets(buf, 64, stdin);
p = (char *)malloc(sizeof(char) * 64);
strncpy(p, strtok(buf, " "), 64);
printf("%s\n", p);
free(p);
}
君のやりたいことはこれで充分。
64 はマジックナンバーだから #define すれ。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGC言語について語るスレですが。
0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG製品コードでも似たような糞コード書くんだよな。
#つーか、コメントに1秒ウェイトと書いてSleep(2000)なんて書くんじゃねぇよ(鬱
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNGHTなんだよ、きっとw
0964デフォルトの名無しさん
NGNGで、HTが何の関係あるんだ?
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGあ、それはコンパイラが絡んでくれるからいいのか。
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNGてめえ喧嘩売ってるのかコラ
0970デフォルトの名無しさん
NGNG持ってるところは持ってるし、持ってないところは持ってない。
0971デフォルトの名無しさん
NGNG今時Cの案件なんか組み込み系CPUの一部でしかないと思ってました。
禿ですらプログラミング言語C++でCイラネって言ってるんでどんなもんなのかと
0972デフォルトの名無しさん
NGNGお前以外の誰も困らない。
0973デフォルトの名無しさん
NGNG組み込み系がマイノリティという前提での発言か?
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1097984684/
0976デフォルトの名無しさん
NGNGこっちだ。
http://pc5.2ch.net/test/read.cgi/tech/1098007606/
0977デフォルトの名無しさん
NGNGわざとだろw
0978デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1065535118/
0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG意味が解からない。
想像するには、
hoge1.h
hoge2.h
hoge3.h
というのがあって、
all.hの中身が、
/* all.h */
#ifndef __ALL_H_
#define __ALL_H_
#include "hoge1.h"
#include "hoge2.h"
#include "hoge3.h"
#endif /* __ALL_H_ */
というものを使っても良いか否かということを聞いているのかな。
だとすると、うん、それはもちろんOK。
0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG大学生でもいろいろいる。
業界に片足突っ込んだ学生もいるし。
0988986
NGNG下位9bitを用いた数値をint型変数に置き換えてプログラムで使用したいと
思ってます。
int new
char *old;
------
new = (int)(old[0] & 9)
とかしても失敗でした。
よろしくです。
0989デフォルトの名無しさん
NGNG9の下位9ビットは1なのかね?
0990989
NGNG0991デフォルトの名無しさん
NGNGいいえ。
0992デフォルトの名無しさん
NGNGcharは7ビットです。
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNGいいえ。
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNGcharは16ビットです。
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG( ::: (;; ∧_,∧ );:;;;)) )::: :; :))
((:: :;; (´・ω・)っ旦;;;; ; :))
((;;; (っ ,r どどどどど・・・・・
i_ノ┘
((;;;;゜;;:::(;;: ∧__,∧ '';:;;;):;:::))゜)) ::)))
(((; ;;:: ;:::;;⊂(´・ω・`) ;:;;;,,))...)))))) ::::)
((;;;:;;;:,,,." ヽ旦⊂ ) ;:;;))):...,),)):;:::::))))
("((;:;;; (⌒) |どどどどど・・・・・
三 `J
.∧__,,∧ ;。・
⊂(´・ω・`)⊃旦
☆ ノ 丿 キキッ
ヽ .ノ (⌒) 彡
と_丿=.⌒
.∧__,,∧ゼェゼェ
(´・ω・;)
( o旦o ))) お茶どうぞ
`u―u´
C言語なら俺に聞け! Part 93
http://pc5.2ch.net/test/read.cgi/tech/1098007606/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。