C言語なら私に聞け(33)
レス数が1000を超えています。これ以上書き込みはできません。
0001ジョブ子
NGNGでもC言語の腕には自身があるので何でも聞いてね。
PS
関連擦れは面倒なのでほかの人に任せます。ウフッ
0002デフォルトの名無しさん
NGNG0004前スレ950に代わってお詫びします
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/
【ライセンスや機能などに問題あり】
Microsot 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
0005前スレ950に代わってお詫びします
NGNGhttp://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
http://www.bloodshed.net/index.html
【注意】
Cmachineは一般的なCと挙動が違いすぎるので動作の保証はできません。
まともな処理系を使いましょう。
0006前スレ950に代わってお詫びします
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c_faq.html
comp.lang.c FAQ(英語の原文)
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
推薦図書/必読書のためのスレッド PART 5
http://pc3.2ch.net/test/read.cgi/tech/1027593322/
0007デフォルトの名無しさん
NGNG31 http://pc3.2ch.net/test/read.cgi/tech/1031340950/
30 http://pc3.2ch.net/test/read.cgi/tech/1030786546/
29 http://pc3.2ch.net/test/read.cgi/tech/1029605182/
28 http://pc3.2ch.net/test/read.cgi/tech/1028495798/
27 http://pc3.2ch.net/test/read.cgi/tech/1027160374/
26 http://pc3.2ch.net/test/read.cgi/tech/1026048820/
25 http://pc.2ch.net/tech/kako/1024/10249/1024918442.html
24 http://pc.2ch.net/tech/kako/1024/10240/1024033400.html
23 http://pc.2ch.net/tech/kako/1023/10230/1023024817.html
22 http://pc.2ch.net/tech/kako/1022/10224/1022402165.html
21 http://pc.2ch.net/tech/kako/1022/10220/1022045622.html
20 http://pc.2ch.net/tech/kako/1021/10214/1021459016.html
19 http://pc.2ch.net/tech/kako/1020/10207/1020756993.html
18 http://pc.2ch.net/tech/kako/1020/10202/1020260813.html
17 http://pc.2ch.net/tech/kako/1019/10193/1019372139.html
16 http://pc.2ch.net/tech/kako/1018/10184/1018453690.html
15 http://pc.2ch.net/tech/kako/1016/10165/1016519243.html
14 http://pc.2ch.net/tech/kako/1015/10152/1015286974.html
13 http://pc.2ch.net/tech/kako/1013/10139/1013990673.html
12 http://pc.2ch.net/tech/kako/1012/10123/1012348974.html
11 http://pc.2ch.net/tech/kako/1009/10094/1009499565.html
10 http://pc.2ch.net/tech/kako/1008/10083/1008300863.html
9 http://pc.2ch.net/tech/kako/1007/10072/1007272267.html
8 http://pc.2ch.net/tech/kako/1005/10058/1005811510.html
7 http://pc.2ch.net/tech/kako/1003/10034/1003418249.html
6 http://piza2.2ch.net/tech/kako/999/999617524.html
5 http://piza2.2ch.net/tech/kako/994/994908590.html
4 http://piza.2ch.net/tech/kako/992/992357382.html
3 http://piza.2ch.net/tech/kako/989/989929288.html
2 http://piza.2ch.net/tech/kako/979/979529893.html
1 http://piza.2ch.net/tech/kako/967/967985026.html
0008前スレ950に代わってお詫びします
NGNG32 http://pc3.2ch.net/test/read.cgi/tech/1031905402/
31 http://pc3.2ch.net/test/read.cgi/tech/1031340950/
30 http://pc3.2ch.net/test/read.cgi/tech/1030786546/
29 http://pc3.2ch.net/test/read.cgi/tech/1029605182/
28 http://pc3.2ch.net/test/read.cgi/tech/1028495798/
27 http://pc3.2ch.net/test/read.cgi/tech/1027160374/
26 http://pc3.2ch.net/test/read.cgi/tech/1026048820/
0009前スレ950に代わってお詫びします
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG世の中間違ってる。。。
0012デフォルトの名無しさん
NGNG気持ちはわかるが一応立てたことだし。
0013デフォルトの名無しさん
NGNGだと かちゅ〜しゃ で化けることがあるからなのか?
subject.txt取得後だと問題ないんだけど。
0014デフォルトの名無しさん
NGNGそう
0015デフォルトの名無しさん
NGNG0017打・サイタマ@受信料未払い
NGNGarray[] = {1,2,3,4,5,.......};
じゃダメなん?
0018デフォルトの名無しさん
NGNGint n[]={4,12,76,3,0,65};
0019デフォルトの名無しさん
NGNG型は一体何なんだ、ボケナス。
0020デフォルトの名無しさん
NGNG君のコメントほどじゃないかと
002116
NGNG関数の引数として
func("ABCDEFG");
のように使える関数をつくりたいのです。
で、文字列だと上記のように渡せるのに、数字だと""で囲めない?ので
困っています。
型は、char型を考えています。
0022打・サイタマ@受信料未払い
NGNGもう一回文字列リテラルのこと調べなおすべし!
0024デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGfunc("\x01\x02\x03");
という意味なのか?
渡されるのがポインタだということは
わかってるんだよな?ボケナス。
0027デフォルトの名無しさん
NGNG質問の意味がわかりません。
0029デフォルトの名無しさん
NGNG003016
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG何がと言うか、ぜんぜんわかりません。
初歩的なことですみませんが、はじめから教えてもらえませんか?
0033デフォルトの名無しさん
NGNG003416
NGNG003516 ◆Ms2nrv3c
NGNG面白ければ放置しようとおもっていたのですが。。。
いま、実験しています
003616
NGNG0037打・サイタマ@受信料未払い
NGNGすまん、煽りじゃないんだよ。
func()内で中身を入れ替えたりするなら気をつけよう。
....ところで、ポインタって知ってるかい?
0038デフォルトの名無しさん
NGNGC99ではできるんだっけ?
003916 ◆a9RattCo
NGNG0040デフォルトの名無しさん
NGNG( ´,_ゝ`) プッ
そこまでやるか普通?
004116
NGNGホントだったようですね。
失望しました。
0042あ
NGNGあのさ、とりあえず俺は真面目にあんたの
質問聞いてやってるつもりだよ。
その言い方はないんじゃない?
はっきり言ってあんたの質問の意味がわからん。
関数作りたいなら
void Test(char* s);
じゃだめなのか?
なんでこれが駄目なのかよくわからん。
004316
NGNG0044打・サイタマ@受信料未払い
NGNGいたのか・・・。荒ちまったな。申し訳ない。
0045デフォルトの名無しさん
NGNG004616
NGNG0047デフォルトの名無しさん
NGNG偽物だと気付けよ。
本物は mailto: が全角の空白1文字になってる。
これより上のカキコだけはな。
0048漢
NGNG004916
NGNG005016 ◆Ms2nrv3c
NGNG痛いところを疲れて完全にキレられたようですね
>>26
ポインタはわかっています
\xというのは使ったこと無いのでよくわかりませんでした。
>>37
もちろん、入れ替えたりしません。
>>22
文字列リテラルに数値をもぐりこませることは出来ないと言う意味でしょうか
0051デフォルトの名無しさん
NGNG残りは2人の低能な偽物による荒らし。
0053デフォルトの名無しさん
NGNGfunc( int[]{ 0, 10, 20 } ); 風にしたいってことですか?
0054デフォルトの名無しさん
NGNG0055打・サイタマ@受信料未払い
NGNG文字列って言っても、要はキャラクターコードが入ってる配列のポインタを関数に渡しているってことだから、渡したいchar型数値に該当するキャラクターコードを突っ込んだ文字列リテラル作って渡すこと可能だよ。
array[] = "abc" なら array[]={ 0x41,0x42,0x43} と同じものが入っていると考えてもいける。
でも、素直に
char array[] = {1,2,3};
func(array,sizeof(array));
とかしたほうが良さそうだけど・・・。
005616 ◆Ms2nrv3c
NGNG文字列だと
char array[] = "ABCDEFG";
func(array);
を
func("ABCDEFG");
にできるのに、
数字だと
char array[] = {0, 10, 20};
func(array);
を
func({0, 10, 20});
みたいにできればメモリ領域の節約にもなるし
関数としては使い勝手がいいとおもうのです。
0057打・サイタマ@受信料未払い
NGNG0058デフォルトの名無しさん
NGNGそれよりももっと重要な'\0'を付加することを忘れているぞ。
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG006158
NGNG俺のこと?
もしかして間違っている?(^_^;)
0062打・サイタマ@受信料未払い
NGNGああ、やってしもうた・・・。出直してきます。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG間違ってないぞボケナス。
でもこれは揚げ足とも言う。
0065デフォルトの名無しさん
NGNG...の部分の引数の型がチェックされるということ?
0067デフォルトの名無しさん
NGNG006916 ◆Ms2nrv3c
NGNG逆に、
{0x41,0x42,0x43}を渡したいのであれば、
"ABC"を渡すことで可能ですが、その方法だと
{0x01,0x02,0x03}を渡したいときに
対応するASCII文字が無く、不可能になってしまいます。
また、
char array[] = {0, 10, 20};
func(array);
な方法だと配列の宣言&初期化とfunc()が離れてしまって見づらく
なりますし、初期化をfunc()の直前でやるのもあほらしいなと。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG"\x01\x02\x03"
これってできなかったかな。
0072打・サイタマ@受信料未払い
NGNGあかん、残業しすぎや・・・。
0073デフォルトの名無しさん
NGNGこれは?
0075デフォルトの名無しさん
NGNG"\01\02\03"
0076デフォルトの名無しさん
NGNGエスケープシーケンス
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG今更だが乙。
0080デフォルトの名無しさん
NGNG> メモリ領域の節約にもなるし
リテラル文字列であっても静的なメモリ領域に
置かれることには違いない。
まあ、autoな記憶クラスの配列よりはスタックを
節約できると思うが。
0081デフォルトの名無しさん
NGNG008216 ◆Ms2nrv3c
NGNG勉強になりました
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGextern const int table[] = { ... };
function( table);
にしたらいいんでないの
まあどうでもいいことだけどね…。
0085デフォルトの名無しさん
NGNG関数に渡そうとするんだ?
そんなもん関数内でローカルに扱えと思うのは漏れだけか?
0086デフォルトの名無しさん
NGNG0087打・サイタマ@受信料未払い
NGNGfunc()内にstatic const で持つのもいいかなとか思いますです。
008816 ◆Ms2nrv3c
NGNGそんなことが出来るんですか。
配列の中身を静的領域に置くテクニックですか。
でも外部変数は使わない方針なんです。
>>85-87
関数としての汎用性がおちる気がして。。
0089デフォルトの名無しさん
NGNG{
char bbb[]={1,2,3,4};
Saru(bbb);
}
0090デフォルトの名無しさん
NGNG?
0091デフォルトの名無しさん
NGNGスコープの意味わかってんのか?
0092デフォルトの名無しさん
NGNG{
char A[]={1,2};
Func(A);
}
と
Func("\x01\x02");
でメモリの使われ方に違いが有るの?
0093デフォルトの名無しさん
NGNGその場合メモリは関係ないですよ( ´,_ゝ`)
0094デフォルトの名無しさん
NGNGということで
stdio.hをみてみたのですが
プロトタイプの宣言はあるものの
それらしきものが見当たらない気がするのですが
気のせいですか?
0095デフォルトの名無しさん
NGNG立派なブロックスコープでつがなにか?
0096デフォルトの名無しさん
NGNG>>91はそれがメモリの節約と何か関係あるのか?と言っているんだと思うぞ。
0097デフォルトの名無しさん
NGNGライブラリのソースを見よう。
0098デフォルトの名無しさん
NGNGそりゃhファイルだからねぇ…
\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
あたりにあるCファイルにないか?
# CRTって何? C Run timeってことかな?
0099デフォルトの名無しさん
NGNG変数が有効でなくなる立派なスコープだわな。
0100デフォルトの名無しさん
NGNGC Run Timeか・・・俺もわからんかった。
コンパイル済みのライブラリなら、\Program Files\Microsoft Visual Studio\VC98\Bin\LIBC.LIBの中にあるね。
0101デフォルトの名無しさん
NGNGんで>>92のような問いかけに戻る、と。
0102デフォルトの名無しさん
NGNG最適化も何もしない素コンパイラだったら節約になりそうな気はする。
0103デフォルトの名無しさん
NGNG解放されてもメモリーを消費することにはかわらんだろ。
使っている時間の長さが違うだけで。
それとも、
void func()
{
int a,b;
}
と、
void func()
{
{int a;}
{int b;}
}
で違うと言いたいのか?
0104デフォルトの名無しさん
NGNGむしろスタック分だけ余計にメモリ使いそうな気がする
0105デフォルトの名無しさん
NGNGブロックスコープ変数は、ほとんどのコンパイラで関数突入時に確保される。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGFunc("\x01\x02");
->2Byte分の領域が確保され、関数を抜けたときに開放される。
{
char A[]={1,2};
Func(A);
}
->2Byte分の領域が確保され、スコープを抜けたときに開放される。
0108デフォルトの名無しさん
NGNG前者が解放されるのってプログラム終了時じゃないの?
0109108
NGNG0110デフォルトの名無しさん
NGNGそれなら後者の方が得ということになるの?
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG速度で見ればローカル変数使うだけ当然遅くなる。
あと、関数呼び出しも戻りのアドレスをスタックに待避する処理や引数を
渡す処理が入るので当然遅くなる。
0113デフォルトの名無しさん
NGNG前者の利点が見えないんだけど
0114空気を読めない奴
NGNG0115デフォルトの名無しさん
NGNG。・゚・(ノД`)・゚・。
0116デフォルトの名無しさん
NGNGということだな。
hoge()
{
{ char A1[]={1,2}; Func(A1); }
{ char A2[]={1,2}; Func(A2); }
{ char A3[]={1,2}; Func(A3); }
}
hoge()
{
char A1[]={1,2};
char A2[]={1,2};
char A3[]={1,2};
Func(A1);
Func(A2);
Func(A3);
}
ソースに記述したブロックの通りにスタックを確保すれば、
後者より前者の方がスタック使用量を節約できるわけで。
ただ、実際にはソースと同じような確保はしてくれない
と思った方がいいだろうな。
0118デフォルトの名無しさん
NGNGしかも前者は読みづらいね。
あまり現実的じゃないよね。
0119デフォルトの名無しさん
NGNGスタック節約してどうすんの?
0120デフォルトの名無しさん
NGNG16君がメモリの消費に神経質だから。
0123105
NGNG仮にブロックスコープで確保解放が行われるとして、スタック操作に掛かる
コストのほうが、スタック消費量を抑えることより問題だと思われ
for(int i=0; i<10000; i++ )
{
int n;
...
}
とかやると、大変なことに。。。
0124デフォルトの名無しさん
NGNGスレタイトルの番号を囲んでいる括弧が、左は半角で右は全角なのが気になる。
0125105
NGNG技術板でこのスレだけ進行早すぎ
それと、10000くらいなら全然平気でした
0126デフォルトの名無しさん
NGNG16以外はみなそう思っていると思うぞ(笑)
でもC++だとfor(int i=0;i<100000;i++)とかやるんだよな・・・あれもスタックに取ると思うんだけど。
0127126
NGNG0128デフォルトの名無しさん
NGNGまず16さんが下記の記述はいやだと、
char[] A = {1,2};
Func(A);
理由、メモリを無駄にしたくないから。
よって
Func("\x01\x02");
ではどうだと、、、
それよりも
{
char[] A = {1,2};
Func(A);
}
こうすれば、同じことだしFunc("\x01\x02")より分かりやすいんでは?
という流れ。
0129デフォルトの名無しさん
NGNGそんな感じだね。
0131デフォルトの名無しさん
NGNGスレを前から読んでないのでよく解らんが
要するにスピードを重視するのか容量を重視するのかというわけで
そのトレードオフによって決めるべきかと。
0132デフォルトの名無しさん
NGNGこれはスタックオーバーフロウが起らないようにしているのかな?
それともやっぱりパフォーマンスを向上させるためかな。
0133デフォルトの名無しさん
NGNG0134116
NGNG最近のコンパイラでもあるのかな?
0135デフォルトの名無しさん
NGNG本題じゃないが、
数字をcharの配列で渡そうとしているあたりに16の徹底ぶりがうかがえる(w
0136デフォルトの名無しさん
NGNGなるほど。気づかなかった。
きっとそうなんだろうな。
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG実際それはまずいんだろうけど。なんとなくfloatは嫌い。
0139デフォルトの名無しさん
NGNGそれはそれですごいなw
0〜255(-128〜127)の値しかとらないことが分かっているのかな?
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG> 0〜255(-128〜127)
この辺にもツッコミ禁止の徹底ぶりがうかがえる。
ネタですた。謝ります。スマソ。
0143デフォルトの名無しさん
NGNG--------------------------------
main () {
void *pa, *pb;
{
int a;
pa = &a;
}
{
int b;
pb = &b;
}
printf ("&a = %p\n", pa);
printf ("&b = %p\n", pb);
}
--------------------------------
&a = 0073FDDC
&b = 0073FDD8
--------------------------------
0144デフォルトの名無しさん
NGNGそれが何か?
0145デフォルトの名無しさん
NGNG2次元配列へのポインタってどうやって記述すればいいんですか?
手元にある参考書には配列へのポインタは書いてあるんだけど
2次元配列へのポインタについては全く書いてないんで。
0146デフォルトの名無しさん
NGNGもしブロック終わったら解放するってんなら、a と b は同じ領域を
共有するかもしれないって思ったわけだが、違うらしいなって事
>>116の話題ね
0147デフォルトの名無しさん
NGNGポインタと配列の関係については、ここをひととおり目を通すといい
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
「配列へのポインタ」というのはまー慣用的な表現で、
実際には配列の先頭へのポインタの意味する事が多い。
char a[3]; char *p = a;
で、この例の先頭がさらに配列(char[5])だった場合を考えてみればいい
char b[3][5]; char (*q)[5] = b;
これとは別に、(別途確保した)配列(の先頭)をさすポインタの配列、
というものを使うことも多い
0148デフォルトの名無しさん
NGNGそんなもんコンパイラはもとよりコンパイルオプションによって変わるぞ。
VC++6 なら、Debug なら共有しないが、Release なら共有する。
何で実装依存なのに、一つの結果見ただけで「違うらしいな」なんて結論付ける
かなぁ...。
0149デフォルトの名無しさん
NGNG馬鹿ですか?「MinGWで」って書いてるのに
0150デフォルトの名無しさん
NGNGアフォですか ? 「コンパイルオプションによって変わる」と書いてあるのに
0151デフォルトの名無しさん
NGNGプ
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNGいまとなってはなんでそんな事考えたのかも思い出せないけど。
メモリの節約しようって発想はなかったけど、使い勝手から結局va_list使った。パスカル文字列風に先頭はデータ数入れて。でも、va_listで自動キャストされる規則をわすれたりして型を間違えると誤動作する。
0154名無しさん@Emacs
NGNGアプリケーションを作りたいのですが、参考になりそうなソースコード
がありましたら教えて下さい。
今は cbzone のソースを読んでいます。
0155デフォルトの名無しさん
NGNGこっちで聞け。
http://pc3.2ch.net/test/read.cgi/tech/1014404990/l50
>>151
その程度の書き込みしかできないなら、止めとけ。ヴァカみたいだぞ。
(みたいじゃねーのかもな。ププ)
0156nobodyさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG売ってるティッシュ買うのと街頭で配ってるティッシュ使うのって、どっちがいい?
0160デフォルトの名無しさん
NGNGどっちでも良いってことですか?
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGケツの拭きごこちってどう言う意味?
作業のしやすさ?
0163デフォルトの名無しさん
NGNG配ってるティッシュ使ってみて不満があるなら売ってるの買えや
0164デフォルトの名無しさん
NGNGわかりました。
ありがとうございました。
0165デフォルトの名無しさん
NGNG僕は意味を聞いているのですが!
ケツの拭きごこちとプログラムを作るのと何の関係があるの?
あおりはやめてください。
0166デフォルトの名無しさん
NGNG騙りやめれ
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGいけないと聞きました。Cのソースを.cppでコンパイルしたらどんな
不都合があるのですか。「倉薫」の入門本にもそんなくだりがあったが
理由がわかりません。
0169デフォルトの名無しさん
NGNGケ ツ 拭 い て み り ゃ あ わ か る だ ろ う が !
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG明らかだろ。オマエがそうやって人に聞いてるの見てると、
もう(。A。)(.Λ.)(:>)(゚∀゚)(<:)(.Λ.)(。A。)って感じだな。
0172デフォルトの名無しさん
NGNGここのPascalとC++の統合開発環境はけっこうよかったです。報告まで
0173デフォルトの名無しさん
NGNGいっている意味がわかりません。Hello,World程度の簡単なソースを
拡張子.cにしようが.cppにしようがコンパイル結果に関係ないと思うのですが。
0174デフォルトの名無しさん
NGNG> BCCでCのソースをコンパイルするとき拡張子を必ず.cにしないと
> いけないと聞きました。Cのソースを.cppでコンパイルしたらどんな
> 不都合があるのですか。「倉薫」の入門本にもそんなくだりがあったが
> 理由がわかりません。
C と C++ で一部非互換のところがあるからだよ。BCC は、使ったこと無いからわからんけど、VC++ では xxx.c なら sizeof 'a' == 4 となるが、xxx.cpp なら sizeof 'a' == 1 となる。
0175デフォルトの名無しさん
NGNG全然違う・・・
0176デフォルトの名無しさん
NGNG0177168,172,173
NGNGエラーはでないけど、実行時エラーがでる場合があるということですか?
0178デフォルトの名無しさん
NGNG>>173は未だにトランスレータ式のC++コンパイラ使ってるんだよ。
なのに次からBCC使わなきゃなんなくなって、不安でしょうがないんだよ。
0179裕美子 ◆lIp1b.Ek
NGNG参考までに、使用コンパイラは 試食版とBCCです。
0180デフォルトの名無しさん
NGNGあんただれ
0182デフォルトの名無しさん
NGNGC++ではエラー出ます。
0183デフォルトの名無しさん
NGNGここの女の子だよ>>180
0184デフォルトの名無しさん
NGNGchar* c = static_cast<char*>(malloc(128));
にするとCでコンパイルできなくなる罠
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG/:::|:::::::|:::::::::::::/::::::/::::::::::::::/:::::::/`\_
/ ̄\::::::|:::::/:::......-―――--..........__/:::::::::::::::\
┌ー ̄::::::::::::ヽ::|:::..-^ ̄ ^ ヽ、:::::::::\
ヽ::::::::::::::::::::::::::::/ \::::::::ヽ
ヽ:::::::::::::::::::::::/ :::: \:::::ヽ
ヽ::::::::::::::::::/ :::::::: \::::|_
):::::::::::::::| ::::*::::: ヽ:|::::ヽ
/::::::::::::::::| ::;;;;: l::::::::ヽ
/::::::::::::::::::| ノ::ii:ヽ:: l::::::::::|
|::::::::::::::::::::| /::::;リ:::l:::: |::::::::::::|
|:::::::::::::::::::::l ...l::::;リ:::/:: /:::::::::::::|
.|::::::::::::::::::::::l . /:ア/::: /:::::::::::::::i
l:::::::::::::::::::::::::l ./::`^::::: /:::::::::::::::::/
ヽ::::::::::::::::::::::::l /:::::::::: /:::::::::::::::::::/
/:::::::::::::::::::::::l /::::::::::::: /::::::::::::::::::::::/
/::::::::::::::::::::::::i __-ー--=;;;:::::::::::::: ....::::/:::::::::::::::::::::::/
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGリリアたん・・・ハァハァ
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG> charはなんと読むの?
もうこの話題はいいよ、「キャー」でも「シャー」でも何でもいいよ。
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNGぷっ、
シャーだって
ぷぷぷぷぷぷぷ
くっくっくっ
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG友人の飼っていた犬が「ちゃる」だったので、
charも「ちゃる」になりますた。
0196nobodyさん
NGNGキャラクターの略だからな。
キャルかなぁ。
0197デフォルトの名無しさん
NGNGcharも「ちゃー」になりますた。
0199デフォルトの名無しさん
NGNG#define VAL_ 0
0200デフォルトの名無しさん
NGNG020116
NGNG糞どもがーーーーっ!!
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG#define FLG_AGE 1
void a( char b );
a( FLG_aGE );
どうすればいいんでしょうか?
キャスト?
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG間違い
#define FLG_aGE '\1'
0210206
NGNG0211デフォルトの名無しさん
NGNG> 放置 ?
はぁ ? >>208-209 を見てんのか ?
0212デフォルトの名無しさん
NGNGa( (char)FLG_AGE );
0213デフォルトの名無しさん
NGNG#define FLG_AGE ((char)1)
あと、C FAQに
文字リテラル('\1'とか)は実はint型な罠
ってのがあったような気がするのだが、どうか。(C++ではcharだという話も)
0214デフォルトの名無しさん
NGNG間違い
#define FLG_aGE ((char)1)
0215212
NGNGいや>>206の聞いてる人が既にミスしてるからw
>>#define FLG_AGE 1
>>void a( char b );
>>a( FLG_aGE );
↑ここねw
0217デフォルトの名無しさん
NGNGvoid a(char b);をvoid a(int b);にする。char型の引数ってあまりみないな。
0218デフォルトの名無しさん
NGNGcharにしても別にメモリの節約にはならないし(w
0219デフォルトの名無しさん
NGNGプ
0220デフォルトの名無しさん
NGNG元の値とまったく同じになるんだけど、何故?環境はVC++6.0SP5
0221220
NGNGもうわけ分かりません。
0222必要なくね?
NGNG8bitの unsigned char 型のデータを
32bit右シフトしてるの?
0223デフォルトの名無しさん
NGNG隣との、xorを取るようなことを繰り返して、
シフトをしているのであれば戻るのかもね。
0224223
NGNG0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNGそれでも詰まったらコードを晒す。
0231220
NGNGこんな感じの文を書いてる。
unsigned char *p;
unsigned long a;
:
a |= *p >> (32 - s); // 0 <= s <= 32
s=1〜32のときは期待通り動くのが、s=0のときだけ0にならず驚いた。
>>223
こんな夜中にレスつけてくれただけでも有難う。
いろいろ検索してるうちにこの症状について書いてあるページを見つけた。
どうやらこれは処理系依存らしいが、ANSI Cでもそう定められてるのだろうか。
ttp://www.biwa.ne.jp/~chu0296/laboratory/cpp.html
0232デフォルトの名無しさん
NGNG>>231
それは処理系依存ではなく未定義です
0233デフォルトの名無しさん
NGNGこれ試してみたら多分、まずunsigned charをシフトするときでも
32bitレジスタに値を入れてそれをシフトする命令を出してるらしい。
で、それをシフトするとき何ビットシフトするかを入れるレジスタ
の値が31以上だったとき下位5bitだけ使うっぽい。
だから33bitシフトとすると1bitシフトする。
0234デフォルトの名無しさん
NGNGx86形の話だけど、コンパイラはシフトをアセンブラレベルの
シフト命令(shr/sar)に展開するのね。
で、8086の頃は、シフト命令は1ビットだけシフトする命令か、
CLレジスタに数値を入れてシフトさせるしかなかったのね。
で、ハードウェア的には、本当に繰り返しで処理してたのね。
80186(かな?)以降は、直接nビットシフトする命令が出来たんだけど、
これもハードウェア的には(マイクロコードで)繰り返し処理してたのね。
で、386になってから、多ビットシフトのハードウェアが導入されて、
ようやくシフトが"軽い"命令になったわけ。
で、たしか、386からだと思うけど、clレジスタに32以上の数値を指定しても、
下位ビットだけがマスクされて、実際には31ビット以下のシフトしか
行われないようになったわけ。
だから、16bitコンパイラを使って、32bit以上のシフト命令を使ったプログラムを作ると、
むかーしのCPUと今のCPUで結果が異なるわけ。
この結果を、CPU種別の判別なんかに使ってたりしたんだな。
コンパイラは、CPUの判別なんかしない(実行環境は別だし、以降に生まれたCPUにも対応できない)から、
効率重視のC言語において結果が異なる(未定義になる)のは
ある意味仕方がないとも言えるんだろうね。
0235nobodyさん
NGNG私、初発言の初心者ですが、>>234さんの説明は目から鱗でした。
なるほど、機種依存ってのはここに根本原因があったのですね。
ありがとうございました。久しぶりに濃い文章だっだなぁ。
0236220
NGNG235氏と同じく目から鱗でした。
アセンブリ言語の知識はZ80〜8086時代で止まってるからなぁ。
まさに、内部でシフト演算をn回ループしてるものだと思ってたよ。
0237デフォルトの名無しさん
NGNGfor(i=0;i<10;i+=0.1){
printf("%1.1f ",i);
}
表示するとなぜか最後に10.0が入るのはどうしてなんですか。
0238デフォルトの名無しさん
NGNGって、昨日見たのはJavaスレだったか。
0239デフォルトの名無しさん
NGNG判定されてしまうって言うのが一般的な回答なのでは?
for(int i=0;i<100;i+=1){ //i++で充分
printf("%1.1f ",i/10.0);
}
こういうふうにしなさいと言うのもあると思う。
違ってたらご免。
0240デフォルトの名無しさん
NGNG2^5(2進5bit)で割った余りか。なるほど。
0241デフォルトの名無しさん
NGNG10.0?なんかソースのコピペミスってないか?
最後だけじゃなく、途中経過も書いてみな。
0242デフォルトの名無しさん
NGNGウチだと10.0も出た。たぶん
0.1が0.09999..とかで、
10.0も9.99999...なんだと思われ
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG> 10.0?なんかソースのコピペミスってないか?
既に、>>239 で答えでてるよ。初心者が良く陥りやすい罠のひとつ。
0.1 って言うのが本当の 0.1 じゃないから10回めのループの判定の時に i が 10.0... にならなくて、9.9... とかなっているため、もう一回余分に回るだけ。解決策は、>>239 のようにやるのが普通。
ちなみに、最後に i が 10.0... になって無いのに表示が 10.0 となるのは、出力時に四捨五入しているから。
0245デフォルトの名無しさん
NGNG2進表現内での循環小数になる。=>まぁこれが誤差などの原因かな
0246デフォルトの名無しさん
NGNGfor(i=0;i<10;i+=0.1){
printf("%.20f ",i);
}
http://www.google.com/search?q=%95%82%93%AE%8F%AC%90%94+%8C%EB%8D%B7&ie=Shift_JIS&hl=ja&lr=lang_ja
0247デフォルトの名無しさん
NGNGvoid main()
{
printf( "%f\n", 1 );
}
表示するとなぜかアプリケーションがクラッシュするのですがどうしてなんですか。
0248デフォルトの名無しさん
NGNG15.3:
解けなくてイライラしていた問題が実は、
printf("%d", n);
で起きていることがわかった。ANSIの関数プロトタイプは上のような 引数の型
の不一致から守ってくれると思っていたのだが。
A:
関数が可変数個の引数を取るとき、プロトタイプは可変数個の引数の 数やその
データ型についての情報を与えない(そもそも出来ない)。よっ て通常の保護の
仕組みは、可変数個の引数リストの可変長の部分には あてはまらない。コンパ
イラは暗黙の変換も(通常の)データ型の不 一致も警告もできない。
質問5.2, 11.3, 12.9, 15.2も参照のこと。
0249デフォルトの名無しさん
NGNGmain()の型がvoidだからです。
標準Cではmain()の型はintと決まっています。
0250デフォルトの名無しさん
NGNGネタにマジレスするが
そんなOS依存環境依存なことをどうどうと正論ぶるのはやめにしませんか?
0251247
NGNGレスありがとうございます。
しかし、浮動少数点が正しく表示されないのならば
まだ分かるのですが、なぜクラッシュするのでしょうか?
>>249
int main() にしてもダメでした。
0252デフォルトの名無しさん
NGNGsizeof( double )!=sizeof( int )だからでないの?
0253デフォルトの名無しさん
NGNG環境も書いてないし、クラッシュしたとは具体的にどうなったのかも
提示されていない。
0254デフォルトの名無しさん
NGNGint なら return 0;
を入れなさいという事では?(コンパイラの要求)
0255デフォルトの名無しさん
NGNGprintf( "%f\n", 1.0 );
intとdoubleの大きさの違いを思い知れ スッタコ
あと頓珍漢な回答してた>>253も氏ね アホボケ
0256デフォルトの名無しさん
NGNG> ネタにマジレスするが
メールアドレス見た ?
0257デフォルトの名無しさん
NGNG呼び出し側がスタックに投げ入れるデータの量と、
呼び出された関数がスタックから取り出すデータの量が食い違えば、
スタックポインタがずれて、まともに動作できなくなる。
とゆーシナリオを想像するんだけど、事実は知らん
そして事実がどうであれ、保証を失う事をしておいて「なぜ?」と問う
自分のセンスを疑ったほうがいいのではないか。
「やっぱり」と思ってほしいぞ
0258デフォルトの名無しさん
NGNG0259258補足
NGNGとおもったけど、リターンアドレスもスタックに積んでるか。
0260デフォルトの名無しさん
NGNG思ったより釣れたな
一応用意していた回答は
「printfは引数の型チェックを行えないので
浮動小数点を使う場合は、明示的に使ってやらないと
CPUが浮動小数点ユニットを切り離してしまうから
クラッシュする」でした。
ちなみに環境はVC6ですが、インテル系のCPU使っていれば大体どんな
コンパイラ使ってもクラッシュすると思う。
#include <stdio.h>
double d; // <-- 追加
void main()
{
printf( "%f\n", 1 );
}
コレなら表示はおかしいけど死にはしない。
0261デフォルトの名無しさん
NGNGもちろん実装によるけど...
> 呼び出し側がスタックに投げ入れるデータの量と、
> 呼び出された関数がスタックから取り出すデータの量が食い違えば、
> スタックポインタがずれて、まともに動作できなくなる。
なんてことは、普通起こらない。スタックポインタの操作は呼び出し側の仕事だから、呼び出され側がスタックから一つも読まなくても、ポインタがずれたりはしない。
つーか、printf() なんかだといくつ積まれて呼び出されるかわからないから、呼び出され側でスタックポインタの操作をしようが無い。
> とゆーシナリオを想像するんだけど、事実は知らん
今回の件は、多分 (int)1 の値とその後ろのスタックの内容を (double) として見た時に浮動小数点じゃねーぞって言って怒られたんだと思う。
> そして事実がどうであれ、保証を失う事をしておいて「なぜ?」と問う
> 自分のセンスを疑ったほうがいいのではないか。
> 「やっぱり」と思ってほしいぞ
ここは、同意。「何で、これぐらいうまくやってくんねーんだよ。」とか思う奴は、C なんか使っちゃいかん。
0262258
NGNG0263デフォルトの名無しさん
NGNGint buff;
(char)buff; と書いてあればbuffをchar型にキャストせよと言う事ですが
(char*)buff; ならばどーゆー意味でしょう?buffをchar型のポインタ型とせよ、ってことであってます?
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG> 「printfは引数の型チェックを行えないので
> 浮動小数点を使う場合は、明示的に使ってやらないと
> CPUが浮動小数点ユニットを切り離してしまうから
> クラッシュする」でした。
やっぱりただのアフォだったか...。printf() 使ってる時点で、浮動小数点ルーチンは組込まれるよ。うそだと思うなら、printf() のソース見てみ。(VC++ なら、output.c だよ。)
> コレなら表示はおかしいけど死にはしない。
たまたまだ。最適化オプションちょっと変えるだけで、クラッシュしたりしなかったりするよ。
0266デフォルトの名無しさん
NGNGちょっとまった。それでクラッシュしないのと
浮動小数点ユニットを切り離してしまうのとは
まったく別次元なんだけど、そこは認識してる?
つーか、>>260の回答は間違っている。
0267デフォルトの名無しさん
NGNGスタックオーバーフロー
0268デフォルトの名無しさん
NGNG> (char*)buff; ならばどーゆー意味でしょう?buffをchar型のポインタ型とせよ、ってことであってます?
まあ、あってる。多分 int のビット幅と char へのポインタのビット幅が同じ (か、int の方が広い) なんだろうな。
デバッガなんかを作っていて、アドレス値を整数 (多分 16進数から変換して) で入力させて、そのアドレスからデータを引き出すとかやる時に使ったりする。
0269263
NGNGでも
int a = 10;
char b = (char)a;
printf("%c\n" , b);
で10と表示されませんが。
0270デフォルトの名無しさん
NGNGそれでしなないのは、それこそ「たまたま」じゃん。
スタックが増えたからでしょ。 dになんか入れれば表示も変化するよ。
FPU切り離しって何言ってんだかわかんない。
もし万が一そうだとしてもprintf使ってりゃありえんことを理解してよ。
0271デフォルトの名無しさん
NGNGa=65を突っ込んで、もう一度報告してみろ
0272デフォルトの名無しさん
NGNGint a = 'A';
をお薦めする
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG%cなんだから10になるわけないのでは?
0275デフォルトの名無しさん
NGNGこちらで、起きているエラーはこれです。
http://msdn.microsoft.com/library/en-us/vccore98/html/r6002.asp
> たまたまだ。最適化オプションちょっと変えるだけで、クラッシュしたりしなかったりするよ。
確かにグローバル変数で取っても、最適化でクラッシュしますね。
#include <stdio.h>
void f(){ double d=0.0; } // 明示的にFPUを使う
main()
{
printf("%f\n", 1 );
}
これでもクラッシュするオプションあったら教えて欲しいです。
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGVC++だとFloating pointがロードされていないとでるかな。
ちょっとやってみよう。
0279278
NGNGvoid f(){double d=0.0; }があると出ないのか・・・
0280デフォルトの名無しさん
NGNGなるほどな。可変個の引数ゆえにか。
double型の引数を取ると分かっていればintを渡してもdoubleに変換されるんだろうけどね。
0282デフォルトの名無しさん
NGNG数バイトで起るとは思えないけど。
0283デフォルトの名無しさん
NGNG> http://msdn.microsoft.com/library/en-us/vccore98/html/r6002.asp
ふむ、確かに "%f" の変換ルーチンがテーブルになっていて、浮動小数点関連の操作をしていない時は、エラールーチンを指すようにしている。
大昔に、8087 が必要だった頃の名残りか、ちょっとでも実行サイズを減らそうとする努力なのかも知れないな。
そこまで読めなかったよ、すまん。(ちょっと言い訳すると、IDE で実行すると R6002 の前に、アサーションエラーが先に出るので気付かなかったよ。)
0284デフォルトの名無しさん
NGNGprintf( "%08x %08x\n", 1 );
をリリースモードで実行したところ
00000001 00401145
↑mainのアドレス
と表示されますので、アクセス違反は起きていないと思います。
>>283
5年くらい前に、学校の授業ではまったバグです。
ネタのつもりで書き込んだのですが、場が荒れてしまい
申し訳ありませんでした。
0285デフォルトの名無しさん
NGNG議論すること自体がナンセンス。
たとえ外科医を雇って鼻を解剖したとしても
原因の確証はつかめないだろう。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNGでもバグの原因追求するときには必要な知識なんだよ。
とくに、クライアントが「結果」しか教えてくれないときとか。
0288デフォルトの名無しさん
NGNG> C言語での未定義の振る舞いの原因を
> 議論すること自体がナンセンス。
まあ、たまには処理系べったりの議論も悪くないさ。ここだとちょっとスレ違いかもしれないけどね。久々に output.c のソースなんかも見たしね。
(でも、結局誰が 変換ルーチンのテーブルセットしてるか良くわかんなかったけと。)
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG質問!
Cで、mallocされたあとに使われてなくなった(参照の無くなった)メモリを
ガーベッジコレクトしてくれるような仕掛けをどうにか作りたいと考えてるんだけど
どうしたらいいかな?
今考え中なのはmallocで返却されるポインタをすべてライブラリで一元管理して
ポインタへのポインタを持ち歩いてもらうことでリソースの利用状況を監視できる
ようなものを考えたんだけどスコープの外れたスタック変数なんかは
どうしても監視しようが無くて困ってまぅ
0291289
NGNG0292デフォルトの名無しさん
NGNG> Cで、mallocされたあとに使われてなくなった(参照の無くなった)メモリを
> ガーベッジコレクトしてくれるような仕掛けをどうにか作りたいと考えてるんだけど
> どうしたらいいかな?
基本的に C でやるのは難しいし、あまり益が無い。そう言うのを作るのが楽しいと言うのでなければ、Java とかにした方がいい。
> 今考え中なのはmallocで返却されるポインタをすべてライブラリで一元管理して
> ポインタへのポインタを持ち歩いてもらうことでリソースの利用状況を監視できる
> ようなものを考えたんだけどスコープの外れたスタック変数なんかは
> どうしても監視しようが無くて困ってまぅ
基本的に C にはその手の監視機能が無いから、プログラマーに関数から抜ける時は ○○の関数を呼んでね、としておいてその関数が頑張ってスコープの外れたポインタを知るようにするしかないと思う。
ソース自体に書くのはあまりにも面倒だから、プリプロセサに手を入れるとかする必要があると思う...、とか考えるとせめて C++ にした方がいい。
0293デフォルトの名無しさん
NGNGDLLに処理を渡すときはどういう風にするのですか?
0295デフォルトの名無しさん
NGNGコンパイル時に「Sample.obj(Sample):Undefined symbol:_power_」などと表示され、プログラムを実行したときに途中で止まってしまうらしい
なんか心当たりはある?
0296290
NGNGわーお!
これナイスだな。 GCのタイミングは良くわかんないけど。
そうか、スタックもヒープも全部検査するか、そうきたか。
遅いかなーと思って敬遠気味だったけどそれが楽だしな。
0297デフォルトの名無しさん
NGNGこれナイスってアンタ、死ぬほど有名だぞ………
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG*途中で*止まるのなら面白いね
0300デフォルトの名無しさん
NGNGw3mでも使ってみればええやんけ。
0301デフォルトの名無しさん
NGNGなんですかそれ?
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG> これナイスってアンタ、死ぬほど有名だぞ………
使ってんの見たことないけど...。
0304デフォルトの名無しさん
NGNGw3mでつかってるよ
0305デフォルトの名無しさん
NGNG課題の内容がWindowsのコマンドプロンプトで動作するアドレス帖です。
そんなプロでも作れるかどうかわからないものを学生に作れという教授に問題がある、という皆さんの意見はわかりますが僕は何とか作って提出したいと思っています。
そこで皆さんにお願いがあります。
作って!!
0306デフォルトの名無しさん
NGNGそんなプロでも作れるかどうかわからないものを学生に作れという教授に問題がある。
0307デフォルトの名無しさん
NGNGそんなプロでも作れるかどうかわからないものを学生に作れという教授がいる大学に入る>>305に問題がある。
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG了解!
#include <stdio.h>
int main(void)
{
printf("漏れのアドレスは%p\n", (void*)main);
return 0;
}
0310デフォルトの名無しさん
NGNG何も制限無いんだったら、適当に作ってアドレス長帳だと言い張れば?
0311デフォルトの名無しさん
NGNG「アドレス帖」 というのが何かのソフトウェアだと仮定しよう。
それがどういう動作をするものなのか教えてくれないかな?
たとえば、実行したら Hello,wolrd! と出力する、という仕様なら
それはプロでなくてもできるレベルだよね。
0312305
NGNGすみません。アフォの相手をするつもりはありません。
あおりは別スレにいってください。つーか氏ね。
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGてゆーか、仕様書けよ、と言ってるんだけど。
オフィスやアウトルックにあるような他アプリ連動型とかいきなり作るわけでもないっしょ
0316305
NGNG作って!!
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG〜を作れ!という初級問題があるサイト無いでしょうか?
0319デフォルトの名無しさん
NGNG309が丁寧に作ってくれたじゃないか。
ということで君の問題は解決済みと判断する。
0320デフォルトの名無しさん
NGNG子を作れ!
0321デフォルトの名無しさん
NGNG305は?
0323デフォルトの名無しさん
NGNG{Q2]メモリを確保する関数hogeを作れ
- 内部でmallocを使ってよい
- そのmallocがNULLを返したらabortする
- hogeの戻りはvoid。引数は好きにしな
>>318
0324323
NGNG0325とんでもなく超初心者318
NGNG0326デフォルトの名無しさん
NGNGマ、マジでつか?
0327デフォルトの名無しさん
NGNGunsigned int hh(const char *s)
{
const char *p;
unsigned int n = 0;
if(s) {
p = s + strlen(s);
while(--p >= s) n = (n<<1) + *p;
}
return n;
}
上の関数を作って実行したところ、愛しいあの子にコクられました。
何がよかったんでしょうか?
0328318
NGNGint len;
char *p;
len = strlen(s);
p = (char*)malloc(len);
strcpy(p , len);
for(i = 0;i < len ; i++)
s[i] = p[len - i - 1];
free(p);
return s;
}
0329デフォルトの名無しさん
NGNGstrcpyもついでにやっちゃえ
0330デフォルトの名無しさん
NGNGfor(i = 0;i < strlen(s) ; i++)
s[i] = ~s[i];
return s;
}
0331デフォルトの名無しさん
NGNGネタ?だよね?
0333あ
NGNGAの中にBの文字列が含まれているかどうかを
調べる標準関数ってありませんか?
一文字ずつ自分でif文で比較していくのがいいのでしょうか?
いい方法あれば教えてください。
0334デフォルトの名無しさん
NGNGエレガントに書け!
while(*s=~*s++);
0335デフォルトの名無しさん
NGNG正解!!
int i;
が無いけど。
0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNGindex
0339デフォルトの名無しさん
NGNGあ、漏れもそういうコードよく見るよ。
0340デフォルトの名無しさん
NGNGネタ?だよね?
0341デフォルトの名無しさん
NGNG物凄い勢いで2箇所ほど突っ込み鯛。
0342333
NGNGやってみます。
0345327
NGNG0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNGかっこつけずに手続きをきちんと書き直してみなよ
0348C初心者
NGNGstruct suji {
char tmpbox[512]; double suji[64];
} box={ {0x00}, {0} };
int dblsave( struct suji *TpData, const unsigned char *rec, const char *kugiri )
{
int i, s, c;
for( i=s=c=0; *(rec+i)!=0x00; ){
if( 0x30<=(int)*(rec+i)&&(int)*(rec+i)<=0x39 )
*(TpData->tmpbox+s++)=*(rec+i++);
else if( memcmp("0", rec+i, 2)<=0 && memcmp(rec+i, "9", 2)<=0 ){
*(TpData->tmpbox+s++)=*(rec+i+1)-0x1f; i+=2;
}
else if( !memcmp(rec+i, kugiri, strlen(kugiri))){
TpData->suji[c]=atof(TpData->tmpbox); c++; s=0; i+=strlen(kugiri);
memset(TpData->tmpbox, '\0', sizeof(TpData->tmpbox));
}
else return (-1);
}
if( !*(TpData->tmpbox) ) c--;
else TpData->suji[c]=atof(TpData->tmpbox);
return (c);
}
void main( void )
{
int i,c; char test[256]={"123|123|"}; /* 7c を tab に変換してテストしてチョ */
if(-1==(i=dblsave( &box, test, "|" ))) exit(1); /* "|" を "\t" に変更 */
for( c=0; c<=i; c++ ) printf( "%lf\n", box.suji[c] );
}
0350デフォルトの名無しさん
NGNGきちんと分解してロジックを見直せばわかるよ、ということ。
練習だと思ってやってごらん
0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG0353327
NGNGうむむ。分解するとますます分からなくなりますた。
if(s) {
p = s + strlen(s);
p--;
while(p >= s) {
n <<= 1;
n += *p;
p--;
}
}
0354デフォルトの名無しさん
NGNG> printfで、 \ から始まる特殊文字
??
0356デフォルトの名無しさん
NGNG>>334は
int i = 0;
while(~(TempString[i] = ~TempString[i++]));
TempString[i] = '\0';
return TempString;
こんな感じならいいの?
0357デフォルトの名無しさん
NGNGn=n++; がおもっくそ未定義だったんだよウワァン
0358デフォルトの名無しさん
NGNGどこも間違ってないです
0359デフォルトの名無しさん
NGNG何か勘違いしてると思うよ。
0360359
NGNG0361356
NGNG・ポインタが進んでしまう
・'\0'が反転されてwhileの判定がおかしくなる
・最後の'\0'が0xFFになってしまう
0364デフォルトの名無しさん
NGNGその辺の文字はprintfにおいて特別な意味はありません。
0365デフォルトの名無しさん
NGNG25点
・ポインタが進んでしまうのは間違いじゃない
・\0が反転されておかしくなる
・だから、上のと同じことだ
あとは後方演算子++の挙動がこの場合未定義だっつーことで
0366デフォルトの名無しさん
NGNG言い方が悪かった。
といってもなんと言えばいいかうまく言えないけど
\r とか
0368デフォルトの名無しさん
NGNGだね。
0369356
NGNGint i = 0;
while(~(TempString[i] = ~TempString[i])) i++;
TempString[i] = '\0';
return TempString;
0370デフォルトの名無しさん
NGNG0xFF が 0 になっちまうし
0371デフォルトの名無しさん
NGNG漏れもそう思った。
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNGネタから派生した疑問ということで、、
0374デフォルトの名無しさん
NGNGfuge(char *s){
char *d=s;
while(*s){*s=~*s;s++;}
return d;
}
こうしなきゃならんかったわけだね
0375デフォルトの名無しさん
NGNGどうしたらいいのでしょうか?
0376デフォルトの名無しさん
NGNGたしか、参照型とポインタ型で、この char *d を省くことができたような。
よく覚えてないから誰かフォローして
0377デフォルトの名無しさん
NGNGsystem("ls");
0378デフォルトの名無しさん
NGNG001
・
・
100
という風にファイルに3桁の番号を順番に書き込みたいのですが
fprintf(fp,"%3d\n",i);
では上の桁の0が追加されません
どうすれば上のように3桁で書けますか?
0379デフォルトの名無しさん
NGNG呼ぶな || perl使え || system(3) || popen(3) || die
0380デフォルトの名無しさん
NGNG%03d
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNGと
*s^=0xFF;
ってどっちが速そう?
0383378
NGNGここのスレってsage推奨のようですね・・あげてしまってすみませんでした。
0384デフォルトの名無しさん
NGNG出来の悪いコンパイラでなければどっちも同じになる。
0385デフォルトの名無しさん
NGNGfuge(char *s){
char *d=s;
while(~(*s++^=~0));
return d;
}
って感じ? 動くんかな
0386デフォルトの名無しさん
NGNGそんなもの省いてもメリットなし。
値を返さない関数にしてもいいわけだし。
0387デフォルトの名無しさん
NGNG一応、お題的にポインタをそのまま返して欲しそうだったから。
0388デフォルトの名無しさん
NGNG質問はageてもらわないと困る
0389デフォルトの名無しさん
NGNG同じくなるのか・・・コンパイラの最適化ってすごいな。
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNG必要ないから
0392デフォルトの名無しさん
NGNG元に戻るからじゃん?
0393デフォルトの名無しさん
NGNG^ひとつで十分だからじゃない?
(a=b)^(c=d)
0395デフォルトの名無しさん
NGNG滅多に使わないが、有っても良かったかな
0397デフォルトの名無しさん
NGNG0398C初心者
NGNG[Q2]はちょっと... 一応2byte文字対策も前提で作成してみました。
文字列の反転 EX)あいうえお -> おえういあ みたいな感じでいいのですか?
void *fuga( void *buf, const void *rec )
{
int i;
int c;
int l=strlen((char *)rec);
*((char *)buf+l)=0x00;
for( i=c=0; *((char *)rec+i)!=0x00; i+=c,l-=c )
{
if((0x81<=(int)*((unsigned char *)rec+i)&&(int)*((unsigned char *)rec+i)<=0x9f)
|| (0xe0<=(int)*((unsigned char *)rec+i)&&(int)*((unsigned char *)rec+i)<=0xfc))
c=2;
else c=1;
memcpy( (char *)buf+l-c, (char *)rec+i, c );
}
return ((char *)buf);
}
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNGどんな厨房だよ(^_^;)
0401デフォルトの名無しさん
NGNGナイスボケ!
あとはいいツッコミ役を探さなくては・・・
0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGif ( ch^0x20-0xA1&0xFF<0x3C )
でマルチバイトらしい
0407名無し募集中。。。
NGNG0408出題者
NGNG即席なんだけど。
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNG0411406
NGNG0412デフォルトの名無しさん
NGNGいや、だから未定義の箇所を探せっていう
ネタじゃないの?
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG意味わかんね
0415デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGへえ
勉強になりますた。
それで暴走する処理系があったら紹介きぼん。遣って見たい
0422デフォルトの名無しさん
NGNGp が s の前に行った瞬間に未定義か・・・
0423デフォルトの名無しさん
NGNGそこゼンゼン問題ないよ。
p >= s の評価前に p をデクリメントするから。
ちなみに、もし仮にここが
p-- >= s であったとしても未定義ではない。(ロジックはでたらめになるけど)
なぜなら、デクリメントはwhileの式評価のあとに直ちに行われるから
( {}のあととか、そういうことは決してない。 for文の挙動を思い出そう )
0424デフォルトの名無しさん
NGNGという結論。
0425デフォルトの名無しさん
NGNG多分君はとても阿呆
0426デフォルトの名無しさん
NGNG問題ないよ
アドレスの比較であってアドレスの指し示す中身を取り出してるわけじゃないしね
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGそれでもダメな理由はなんだろう・・・
0430デフォルトの名無しさん
NGNG駄目になっても文句が言えないだけで駄目な処理系なんてないだろ
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG>駄目になっても文句が言えない
ここがおかしいと思う。「文句が言えない」という理由がないよね。
0434デフォルトの名無しさん
NGNGちょっと気になるな。同じくIS引用希望。
0435403
NGNG> p >= s の評価前に p をデクリメントするから。
そうなの?
評価前にデクリメントするから問題なんじゃないの?
ループを終了するには p < s になる必要があるよね。
sより小さくなったpを比較に使った時点でアウトなんじゃない?
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNGああ、そういうこと言いたかったのね。
しかし、この場合はそれでも問題ないと思うよ。
0439デフォルトの名無しさん
NGNG>しかし、この場合はそれでも問題ないと思うよ
何故?小一時間。
0440323
NGNGと言ってみるテスト
0441デフォルトの名無しさん
NGNGchar *t=hoge[256];
このtをインクリメントしていったときにもtは不連続に変化する、ということにならない?
配列でとった部分は連続なんだっけ?
--t は、やっぱり t-sizeof(char) にならない?
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNGchar (*t)[256]; のtなら256バイト毎に変化するかも。
0444デフォルトの名無しさん
NGNGあーそれかー。 それなら、えーと
(--p >= s) じゃあなくて (--p-s>=0) であれば問題ないね。
0445デフォルトの名無しさん
NGNG下記がいいという説明がつかない。
while (head + 1 < tail) { /* +1は、なくても動作する */
一応、ルーチンの先頭で型定義してるので、
連続して無くても問題ないのでは?
未定義なのは別の理由じゃないかな?
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGC言語なんてもはや頭の体操にしか使えないんだから微笑ましいじゃねえか。
黙って見守れ。
0449デフォルトの名無しさん
NGNG--p>=s はダメですね。
配列のアドレスで許容されているポインタ(アドレス)の可動範囲は
hoge[HOGE]なら hoge〜hoge+HOGEまででした! (hoge〜hoge+HOGE-1ではない)
どーもすみませんでした
0450デフォルトの名無しさん
NGNGsが0x7FFFFF(32Bitアドレスとして)の場合は?
0451440
NGNG0452デフォルトの名無しさん
NGNG整数値と同等に考えちゃだめなのよ。
char *p;
この pが有効なオブジェクトの範囲を指していない場合は
p++;
を実行した後のpの値は予測できない ってことでどうよ?
0453デフォルトの名無しさん
NGNG同一の配列を指していないポインタ同士の減算は未定義なので、
結局同じこと。
0454デフォルトの名無しさん
NGNGそれはOKだって。
なんでそういう規格にしたんだろう?ってのが話題。
0455デフォルトの名無しさん
NGNG下位16バイトで配列内でのオフセット
とかなってるかもしれない
ptr<Tail
は仕様によって保障されているから、内部表現に関わらずOKだけど
ptr>=Head
はこういう処理系では誤作動するよね
0456デフォルトの名無しさん
NGNG規約では+1までは移動だけは許可されておりますです!
さらにそのポインタの指すものも取り出せるであります!
しかし、そのときの取り出したもの(*p)の中身はぐちゃぐちゃであります!
0457デフォルトの名無しさん
NGNG> (hoge〜hoge+HOGE-1ではない)
なんだろう。
0459デフォルトの名無しさん
NGNG>>456であります!
0460デフォルトの名無しさん
NGNGうんうん。ガス管でな。
0461デフォルトの名無しさん
NGNGカニチャーハンにその辺ちょっぴり載ってた。
C-FAQにも出てたよ
0463デフォルトの名無しさん
NGNG微藁
0464デフォルトの名無しさん
NGNG典型的な例がx86のfarポインタ。
規格を決めた当時、最も使われていたアーキテクチャを無視することは
できなかったのでは?
0465デフォルトの名無しさん
NGNGどうでもいいことなんだけど、そのint len;ってなんのために定義しているんだろう。
0466デフォルトの名無しさん
NGNG感動した!!
0467デフォルトの名無しさん
NGNGchar s[100];
char *end = &s[100];
while ( p != end ) ++p ;
を動かすためだろ、C++やるとこんなのがそこら中で出てくる。
0468デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG出てくるがそれはraw pointerではなくてiteratorなわけで、
同じ枠内で議論するには無理があるのでは..?
0471デフォルトの名無しさん
NGNG{
char *head,*tail;
int c;
head=str;
tail=s+strlen(str)-1;
for(;head<tail;head++,tail--)
c=*head,*head=*tail,*tail=c;
return str;
}
これならOK?
俺ならこう書くけど。
0472467
NGNGp 宣言するの忘れました。
オマエラいい加減寝ろよ、明日から仕事あるんだろ。
漏れはもう寝る。
乙〜
0473デフォルトの名無しさん
NGNG禿同
実際には>>467みたいなのは出てこなくて
std::vector<char>::const_iterator p = v.begin();
while( p != v.end() ) { /* hoge */ p++; }
なわけだが。
0474467
NGNG一応、ポインタもお終いの一個先まで保証されている。
それと、vector のイテレータは殆どの実装で生ポインタの
typedef だからそんなに的外れという訳じゃないと思うが、
0475デフォルトの名無しさん
NGNGまたMSだが、VS7のSTLはちゃうね。
0476デフォルトの名無しさん
NGNGと手元の STL 本にはあります
だから桶でしょう
0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNGISO/IEC 14882 によれば、
> If both the pointer operand and the result point to elements of the
> same array object, or one past the element of the array object, the
> evaluation shall not produce an overflow; otherwise, the behavior
> is undefined.
らしいので、一緒のようだ。
0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNGだめっぽい。
sとはなんだ?
0481デフォルトの名無しさん
NGNGどうもありがとうございます。
0482デフォルトの名無しさん
NGNGあ、、、そこだけ修正し忘れました。sはstrです。
手元で書いた時はsにしたんで。
0483デフォルトの名無しさん
NGNG好きなあの娘にコクられまくってましたと。
アホかと。
0484デフォルトの名無しさん
NGNGようは
char* str="";
のときに、str+1は比較に使ってもよいが、
str-1は比較に使ってはだめだということ。
だと思う、、、、
0486デフォルトの名無しさん
NGNG誰に解説しているの……?
0487デフォルトの名無しさん
NGNG>誰に解説しているの……?
>>471 = >>482
0488482
NGNG↓こうするか・・・
char *strrev(char *str)
{
char *head,*tail;
int c;
size_t len;
len=strlen(str);
if(len<=1)
return str;
head=str;
tail=str+len-1;
for(;head<tail;head++,tail--)
c=*head,*head=*tail,*tail=c;
return str;
}
0489デフォルトの名無しさん
NGNGよさげ。
0490デフォルトの名無しさん
NGNG完全な一覧表ってどこかにあるんでしょうか?
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNGま た お な じ し つ も ん か 。
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG入門書とかじゃダメなの?
0495デフォルトの名無しさん
NGNGどこかにはあります。
以上。
0497デフォルトの名無しさん
NGNGabfnrtvだ。さっさと帰れ。
0498デフォルトの名無しさん
NGNGと推測しますた。
0499デフォルトの名無しさん
NGNG立ち読みしてから載ってるのを買ってくればいいじゃん。
0500デフォルトの名無しさん
NGNG> printf等でよく使う
とか言ってる段階では、完全なものは必要ないのでは?
0501デフォルトの名無しさん
NGNGよくわかんない
0502デフォルトの名無しさん
NGNG完全な一覧表だが、見て分からないのか?
0503デフォルトの名無しさん
NGNGうん
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG「エスケープシーケンス」で検索した?
4,000件以上ヒットするよ。
0506デフォルトの名無しさん
NGNGttp://crocro.com/pc/write/hide/chimarl09_01.html#06
こんなところはどうだ?
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGttp://www.uri.sakura.ne.jp/~cosmic/yuno/develop/notes/regex_3escape.html
0509デフォルトの名無しさん
NGNGchar L_box[20][30];
char *P_box[20][30];
P_box=L_box;
どのようにすればいいのでしょうか?
0510デフォルトの名無しさん
NGNGまずそれを明確にしろ。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG見てみます
0514デフォルトの名無しさん
NGNGvoid func(char a[][30]);
のように関数に渡すのはわかるんですが,
同関数ないで,
2次元配列を宣言
�@ポインタ変数を宣言
�Aポインタ変数にアドレスを渡す
の�@の宣言の仕方がよくわかりません。
�Aの右辺と左辺,両方の形もよくわかりません
0515デフォルトの名無しさん
NGNG>int array[NROWS][NCOLUMNS]; f(array);
>関数の宣言は以下のどちらかでないといけない。
>f(int a[][NCOLUMNS]) { ... }
>あるいは
>f(int (*ap)[NCOLUMNS]) /* apは配列へのポインター */ { ... }
0516デフォルトの名無しさん
NGNGchar *box[51];
box = &L_box[51];
error C2440: '=' : 'char (*)[51]' から 'char *[51]' に変換することはできません。
どうすれば・・・?
0518デフォルトの名無しさん
NGNGできました
>>515
まじでありがとう
お詫びに今日ごみ一個拾うことにするよ
0519デフォルトの名無しさん
NGNG正確には「エスケープシーケンス」という呼称はあてはまらないんですよね。
0521デフォルトの名無しさん
NGNG0522等幅フォントで見れ
NGNG\a BEL: ベル \\ \: バックスラッシュ
\b BS: バックスペース \? ?: 疑問符
\f FF: 改頁 \' ': 単一引用符
\n LF: 改行 \" ": 二重引用符
\r CR: 復帰
\t HT: 水平タブ \ooo 8 進数(o=[0-7])
\v VT: 垂直タブ \xhh 16 進数(h=[0-9a-fA-F])
・演算子の優先順位と結合規則
本文長すぎの為省略
0523デフォルトの名無しさん
NGNGそれで全部かい?
0524デフォルトの名無しさん
NGNG0U(ゼロ、ユー)は何ですか?
あと、他にも直打ち数値のサフィックスってあるんでしょうか?
0525デフォルトの名無しさん
NGNG\o=ママ バックドロップ
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGエスケープシーケンスでいい。
コンソールを制御する記号列もまた、エスケープシーケンス。
区別したければ「Cの」とか「ANSI端末の」とかつけれ
0528デフォルトの名無しさん
NGNG> 区別したければ「Cの」とか「ANSI端末の」とかつけれ
「プリンタの」も忘れないでね。
0529デフォルトの名無しさん
NGNGscanf("%s",&b);
if(a==b)
printf("正解です\n");
else
printf("違います\n");
}
エラーは出ないけどできません・・・
なぜですか?
0530デフォルトの名無しさん
NGNG入力された文字列が何処へ格納されるか考えてみたかい?
0531デフォルトの名無しさん
NGNG・比較の方法
0532デフォルトの名無しさん
NGNG> エラーは出ないけどできません・・・
> なぜですか?
間違ってるからです。strcmp() あたりを調べるがよろし。
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNG> あと、scanfのパラメータが・・・
それ以前に、b の初期値が...。
0535デフォルトの名無しさん
NGNG付けなければいけない状況ってどんなときですか ?
0536デフォルトの名無しさん
NGNG型あわせだろ。
0537デフォルトの名無しさん
NGNGfloat a = 1.0f/0.3f;
とか
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG> float a = (float)1.0/0.3;
>>537 でいいんだから、キャストはやめようよ。
0540デフォルトの名無しさん
NGNG勉強不足だ, 俺 ...
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNGじゃダメなの?
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG標準だと他にLLがある。VCの拡張ならi64というのも。
0546デフォルトの名無しさん
NGNGわからんのならキャストでもしとけ。
0547デフォルトの名無しさん
NGNGすいません、おっしゃっている意味が全くわかりません
0U(ゼロ、ユー)がコンパイラ(あるいはプリプロセッサ)に
どう解釈されるのか知りたいだけなのですが?
そもそもキャストとかいうC言語の汚点を隠すために
サフィックスが使われているんじゃないんですか?
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG> そもそもキャストとかいうC言語の汚点を隠すために
> サフィックスが使われているんじゃないんですか?
んじゃ、((void*)0) を数値定数で表現してみろ
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNGキャストを使うなって言ってるんじゃなくて
使わなくて良い所で不用意に使うなって意味なんですが・・・
これだから年寄りは・・・
0552デフォルトの名無しさん
NGNG俺様用しおり
\ │ /
/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< 読んだ読んだ読んだ!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< 読んだ読んだ読んだ読んだ!
読んだ〜〜〜〜! >( ゚∀゚ )/ | / \____________
________/ | 〈 | |
/ /\_」 / /\」
 ̄ / /
 ̄
−−−−−−−−−−−−−−−−−−−−−−−−−−
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNGスレが33枚目(32000以上レスがついた)ってこと。
0555デフォルトの名無しさん
NGNG> キャストを使うなって言ってるんじゃなくて
勝手に勘違いすんな。
> キャストとかいうC言語の汚点を隠すために
> サフィックスが使われている
と言うのならなんでポインタ等のサフィックスが無いのか?
という意味なんだが。
検索エンジンで探すことすらしない厨房の頭じゃ理解不能か。
0556555
NGNG0557デフォルトの名無しさん
NGNGと断定しますた。
0558デフォルトの名無しさん
NGNGほとんどがヌルポインタだけだと思うが、、、
0560デフォルトの名無しさん
NGNG後半のレスが無意味だった事も認めるけど
「0Uってどう解釈されるの?他にもサフィックスてあるの?」って問いに
いきなり「キャスト使え」って答えられても困ります
「普通に数値書いただけだと警告がでてしまうので云々」て質問に対してならわかるけど
0561デフォルトの名無しさん
NGNGありがとうございます!!
漏れの脳内では33歳の女性教師が眼鏡とストッキングを着用の上教えてくれるスレ
だとばかり思い込んでしまっていたので真実が知れて胸をなでおろしています
これからはマジメにC言語にハァハァしますので今後ともお見捨てなきようおながいします
0562デフォルトの名無しさん
NGNGちがいます
てか、490=352=スレ立てるまでもない質問スレの820
まではあってると思うけど
0563555
NGNGそれは俺に対して言ってんのか? >>546に言えよ。
答えは上で出てるけど、
数値の型を表すためにサフィックスで使われる文字は
L long (or long double)
U unsigned
F float
合わせ技もあり。
あとはそれぞれの処理系定義かな。あまり自信はないけど。
0564555
NGNG0565546
NGNG> いきなり「キャスト使え」って答えられても困ります
いきなり検索等もせずに質問して、しかも回答されてるのを
無視してたヤツに言う権利はない。キャストでも使っとけ。
0566デフォルトの名無しさん
NGNGまあ生暖かく見守ってやろうぜ。
0568デフォルトの名無しさん
NGNG1度に定数を加えるってことは可能?(int型です)
n[]={5,9,4,7,22,6,10};
*n+=20; これで出来ないような気がするのです。
結果25,29,24,27,42,26,30になるような。
0569デフォルトの名無しさん
NGNG> ランダムな数値の入っている配列全てに、
> 1度に定数を加えるってことは可能?
無理です、そういう関数を作るかループを使ってください。
> *n += 20;
先頭の要素だけが加算され、残りはそのままです。
結果25,9,4,7,22,6,10};
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNGありがとうございます
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGchar にして MMX で一気に処理しる
0574デフォルトの名無しさん
NGNG質問の意味がわからないが
16進数文字列を数値に変換する関数ならsscanfという関数がある。
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG> あと逆の変換の仕方もわかるかたいますか?
やっぱり質問の意味が良くわからないのだが、
数値を10進数文字列に変換する関数ならsprintfという関数がある。
0578デフォルトの名無しさん
NGNG10進数を16で割っていき、余りを逆順にならべるで出来なかった?
0579570
NGNG質問の意味わかっていただけましたか?
0580デフォルトの名無しさん
NGNG0581570
NGNG15を16で割ったらあまり15ですけど・・・
0582うんっちっち君
NGNGいままで独学で無茶苦茶やってきたプログラムを正しく勉強しなおしているのですが、
まあいままではVCでゲーム作ってばっかりだったので
じつは基本のCが理解できてなかったりします。とくに演算系。
で知らないものがいくつかでてきました。
printf("ああ\n")=puts("ああ")
scanfのかわりのgets、これはもう絶滅した使わないものととらえていいのでしょうか。
if文と同じ処理なんだけど a?b:c ってやつです。
これら3つって使うことあるのでしょうか?
ぜんぶprinf,scanf,ifで済ましたほうが文面的には長くなるけど
のちのち解読しやすいと思うのですが。
しかもコンパイルした時点でどうせおなじ処理なので重さとか処理速度には
関係しませんよね。?
0583デフォルトの名無しさん
NGNG> 質問の意味わかっていただけましたか?
わからない。
>16進数を10進数に変換するにはどうしたらいいでしょうか?
16進数とは「数値」なのか?「文字」なのか?
10進数とは「数値」なのか?「文字」なのか?
数値→数値は意味がないし、
文字→数値ならばsscanfがあるし、
数値→文字ならばsprintfがあるし、
文字→文字ならばCでは非常に面倒で私には答えかねる
0584
NGNG仕事として やってくならば、リストの解読のしやすさに
重点を置いたほうがいいな。
自分が作ったソースを 他人が 見て修正するなんてことは しょっちゅうだからな。
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNGCライブラリのソース嫁
0587デフォルトの名無しさん
NGNG> scanfのかわりのgets、これはもう絶滅した使わないものととらえていいのでしょうか。
使うならfgetsを使え
> if文と同じ処理なんだけど a?b:c ってやつです。
> これら3つって使うことあるのでしょうか?
プログラムを書くためには必要ないかもしれんが、
プログラムを読むためには必要なものだ。
他人のソースを読んでメンテするのもプログラマの仕事の1つだ。
0588デフォルトの名無しさん
NGNGてか、三項演算は使うぞ
1ステートメントしか入れられない場所で
どうしても条件分岐が必要な事はある
0589デフォルトの名無しさん
NGNG文字→数値→文字とやるのが楽。
0590デフォルトの名無しさん
NGNGprintf("ああ\n") と puts("ああ") とでは前者の方が遅いぞ。
といってもこの程度だと大した差ではないが。
0591デフォルトの名無しさん
NGNGと言ってみるテスト
0592デフォルトの名無しさん
NGNGのか?
0593デフォルトの名無しさん
NGNGprintf("iは%sの数です。\n",i<0?"負":"正");
こんなのとか?
0594デフォルトの名無しさん
NGNGトリッキースレ逝きだな、、、
0595デフォルトの名無しさん
NGNGprintf("iは%sの数です。\n","負\0正"+((i<0)*3));
せめてこう書こうよ(笑)
0596595
NGNGこうだな。間違った。
0597デフォルトの名無しさん
NGNGprintf("iは%sの数です。\n",&(sgn(i)*3["負\0正"]));
むかついて会社辞めるときはこんな感じのソース残して辞めると吉。
0598デフォルトの名無しさん
NGNGスタックの積み下ろしがあるからねぇ
0599デフォルトの名無しさん
NGNGprintf(引数で受け取ったポインタ)とかにさえしてなきゃ。
0600デフォルトの名無しさん
NGNG理解を深める
これ大事
アスパラ アスパラ
不法滞在
これは禁止
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGsgn()って標準関数?
0604デフォルトの名無しさん
NGNGうえの方に
#define sgn(x) ((x)>=0)
と書かれています。
0605デフォルトの名無しさん
NGNGconst char *s2[] = { "AA", "BB", "CC", "DD" };
const char *s3[] = { s, s2 };
これでエラーがでるんですけど...どうしてですか?
0606デフォルトの名無しさん
NGNGファイルに書きこみたいんですけど
どーすれば(・∀・)イイ?
0607デフォルトの名無しさん
NGNGファイルを開いてfprintfだね。
0608デフォルトの名無しさん
NGNG型が違うから
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGさっきから何を言っているのかサパーリ。
16進数の文字列でファイルに書きたいの?
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG一度やってみたことはやったのですが構造化で挫折しますた
0613デフォルトの名無しさん
NGNGよく意味がわからんが、ビット演算と代入演算以外の演算子の使用を禁じるってこと?
というか先生! += は代入演算子に入りますか?
0614デフォルトの名無しさん
NGNG+とかついてたらだめです。使っていいのは(&|~^=)
で、漏れは関数呼び出し、条件制御が出来なくて挫折しますた
つーか、できたのは足し算関数(論理回路で言う加算器)ぐらいだけど
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG・デバッガでステップ実行して標準関数の中に入り込む
・grep (VC++なら[ファイルから検索...]とかいうメニュー)
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG足し算できたのなら引き算は簡単だべ。
0620デフォルトの名無しさん
NGNGたとえば「2ch」とか放り込んだのが変換されて、
「0x32 0x63 0x68」になればいいってことなのかしらん?
0621デフォルトの名無しさん
NGNGできたのは自然数の足し算なんですよ
符号ビット調べての足し算もやりましたが所々にバグがちりばめられてます
乗除算はシフト使いたくなりますが・・・
0622デフォルトの名無しさん
NGNG全て同一人物とみなしていいのかなぁ?
だとすれば「 "a = 10;" と "a = 0x0A" とは全く同じコードだよ」
とかそういうことが分からないんだろうか?
0623デフォルトの名無しさん
NGNG俺も自然数のつもりだった。
自然数の足し算ができたとのことなので、
a - b = a + ~(b) + 1
を使えば自然数の引き算は簡単じゃないかという突っ込み。
0624デフォルトの名無しさん
NGNG0625617
NGNG0626デフォルトの名無しさん
NGNGvoid hoge(char *p)
{
・・・
for(;*p!='\0';p++)
fprintf(fp,"%x",*p);
・・・
}
こういうことですか?
0627デフォルトの名無しさん
NGNGBCD(Binary Coded Decimal,2進化10進数)のこと?
いやそういうわけじゃないけど、、
0628デフォルトの名無しさん
NGNG2の補数を使うと加算が2回出るじゃないですか
それなら最初からと思うのですが
速度気にするくらいなら普通にしろよ(ワラ
0629デフォルトの名無しさん
NGNGそれでは、、、、
足し算はレスを見る限り
i1(入力1),i2(入力2),ic(キャリー入力)と
o(出力),oc(キャリー出力)のフルアダーを各ビットごとに
構成して実現したんだよね?
同じように減算回路をソースに落とせば?
0630デフォルトの名無しさん
NGNG例えば5+(−8)とか0をまたぐときにバグバグなんです
条件分岐とかはプログラムカウンタいじらないと無理ですか?
0631デフォルトの名無しさん
NGNG足し算を629のように作れば5+(-8)も上手くいくはずだよ。
(&|~^=)しか使ちゃだめなら条件分岐に関しては見当もつかない。
0632デフォルトの名無しさん
NGNGいいかげんウザイ。
0633デフォルトの名無しさん
NGNGそうですかでなおしてきます
れすありがとうございました
0634デフォルトの名無しさん
NGNGすまん。C言語よりもむしろハードに近い内容になってしまった。
0635632
NGNG0636606
NGNG混乱させてしまい大変申し訳ございませぬ。
ワタクシは>570でも>579でもございません。
ワタクシがやろうとしておりますのは
fprintf ( fp , "%x",argv [2] );
ってことでして。。。
これじゃーargv [2]の先頭アドレスを
16進数でfpに書き込むだけなんですよね?
そこで代替案っちゅーか、なんちゅーか。
とにかく
$hoge.c smp.txt 34567
と、したときにsmp.txtに"34567"が16進数で
書き込まれるプログラムをつくりたいんのです。
ほんと糞厨でごめんなさい。
0637606
NGNG636禿げしくマチガテルヨ!!
$a.out smp.txt 34567
デスタ・・・
スミマセソ
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG×"a = 0x0A"
○"a = \x0A"
>>636
それじゃ16進なんか関係ないじゃん。
「10進数の文字列を数値にしたいんですけど」って聞いとけや
0641デフォルトの名無しさん
NGNG( ´,_ゝ`) プッ
ネタ?
0642デフォルトの名無しさん
NGNGどうすればいいですか?
0643デフォルトの名無しさん
NGNGコネクションをはってプロトコルを合わせ、文字コードを聞き出したら、喋れ。
内容についてはご自由に。
0644デフォルトの名無しさん
NGNG・・・
0645デフォルトの名無しさん
NGNGよろしくお願いします。
0646デフォルトの名無しさん
NGNGXで書くとかしか思い浮かばないけど
0647645
NGNGプログラムも初心者でgnuplotも今日初めて使い出したばかりなので詳しいことがわからないのですが、
今gunuplotを使ってロボットが動いている間中、手動でプロットのコマンドを打っています。シェルを使って自動的に打たせたいとは思っているのですが、gnuplot上のシェルでFor文かWhile文のようなものが記述できるのでしょうか?
0648デフォルトの名無しさん
NGNG検索するとヒントになるかも
0649デフォルトの名無しさん
NGNG無理。
他のすべてを禁止するということは関数の使用も禁止するんだろ?
無理だね。
0650645
NGNG助かりました。
0651デフォルトの名無しさん
NGNGああ、大抵できるね。
0652デフォルトの名無しさん
NGNG出来ないのって何?
0653デフォルトの名無しさん
NGNGわかんない。
ぱっとやってみた幹事ひととおり出来てるけど
抜けがあるかもしれない
0654デフォルトの名無しさん
NGNGtypedef void (*callback_t)();
int callback(void) { printf("test\n"); return 1; }
void func(void (*callback)(void)) { callback(); }
int main(void) { func((callback_t)callback); return 0; }
コールバックの型が違うのにエラーが出ません。
どうしてなんでしょう?
0655デフォルトの名無しさん
NGNG> ワタクシがやろうとしておりますのは
> fprintf ( fp , "%x",argv [2] );
> ってことでして。。。
> これじゃーargv [2]の先頭アドレスを
> 16進数でfpに書き込むだけなんですよね?
文字列の終わりまで繰り返せばいいだけ
char *p;
for(p = argv[2]; *p = '\0', p++)
fprintf(fp, "%x", *p);
または
int i;
for(i = 0; i < strlen(argv[2]); i++)
fprintf(fp, "%x", argv[2][i]);
好きな方を使え
0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNG引数が空とvoidの違いのことを言ってるのかな?
処理系依存だろうけど、関数の引数が空とvoidでは
普通は全く同じコードが生成されるんで問題なし。
func((callback_t)callback)でキャストしてるから警告も消える。
0658デフォルトの名無しさん
NGNGCでは引数の省略と引数voidは関数定義以外では違うんだってば・・・・
0659デフォルトの名無しさん
NGNG655はどう考えてもネタだろ。
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGC++に負けるな! VIVA C言語!
0662デフォルトの名無しさん
NGNGスレ違い
0663デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG・・・666get
0667デフォルトの名無しさん
NGNG0668667
NGNG0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG上記のXXXXの部分をユーザ側からもらうには、どうすりゃいいん
でしょうか?思いつかんので、俺に教えてくらはい!
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNGそうでは無くてcallback_tの戻り値をvoidにしていて、
callbackの戻り値をintにしてる所です。
0674デフォルトの名無しさん
NGNGポインタってちゃんと理解してる?
0675デフォルトの名無しさん
NGNGそれとも実行時のエラーのことを言っているのか。
0676デフォルトの名無しさん
NGNGFILE構造体が利用するバッファ(ストリーム)はどの関数がどのメモリ領域に確保しているのでしょうか
0677デフォルトの名無しさん
NGNGどのメモリ領域って何よ?
それと、処理系依存の話なら処理系が何かを書け。
0678676
NGNG0679デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNGヒープに決まってんだろ
0681デフォルトの名無しさん
NGNGprintf()やscanf()等が関数の静的変数として確保しています
0682デフォルトの名無しさん
NGNG処理系が指定されていなければ答えは出せないな。
一般的な話で言えば、ヒープ領域に確保されるだろうね。
でも自分でsetvbuf等を使ってスタックとかstatic領域を
割り当てることもできるわけだし。
どの関数かは完全に処理系依存。
俺の使っているVC++では_getbufあたりかな。
これをfreadやfgetc等の関数が内部で呼び出している。
0683デフォルトの名無しさん
NGNGLinuxの場合はマニュアルによるとデフォルトではmallocを呼び出して確保するみたいだね。とするとヒープか。
プログラマがsetvbufなどで割り当てなければスタックはないと思う。
0684678
NGNG行っていることになりますか?
0685デフォルトの名無しさん
NGNGそうです。
0686デフォルトの名無しさん
NGNG両方ともエラーは出ません。
処理系はgcc(version2.95.4)です。
0687675
NGNGそういう意味ではなくて、
エラーにならないのがおかしいと思うのは、どっちのエラーのことか?
言い換えると、文法エラーにならないのは当たり前なんだけど
それはわかっているのか?
0688デフォルトの名無しさん
NGNGcallbackの戻り値がintだろうがなんだろうがそれを無理やりcallback_tにキャストしてんだからエラーはでないでしょ
実行時にどうなるかは知ったこっちゃないけど
0689デフォルトの名無しさん
NGNGエラーと言うかワーニングメッセージ
#include <stdio.h>
typedef void (*func_t)();
int func2(void){return 1;}
int main(void) { func_t func; func = func2; func(); }
これは出た。
0690デフォルトの名無しさん
NGNGネタですか?
0691デフォルトの名無しさん
NGNGあ、そう言われればそうですね。
0692C厨
NGNG0693657
NGNG多くの処理系では(少なくともIA-32では)longくらいまでの戻り値は
レジスタ経由で返されるから呼び出し側に影響はない。
コンパイル時にエラーにならないのはキャストしてるから。
以上。
0694デフォルトの名無しさん
NGNGIA32では戻り値に必ずレジスタを使わないといけない
という規約があるとでも言うのだろうか。
そういう俺もレジスタで返す処理系しか知らないのだが。
0695657
NGNGIntelが作った呼び出し規約の資料はあるのか知らないけど、
Visual C++やx86版のSoralisでは決まっているから、
それらのプラットフォームではその規約に従う必要がある。
0696694
NGNGVisual C++がEAXレジスタで戻り値を返すからといって、
他のコンパイラまでその規約に従う必要はないはず。
API等の外部関数とのやりとりだけを、それ専用の
呼び出し規約で対応してもいいわけだし。
慣習としてこの方式が使われているのは事実だけど、
絶対的な規則ではない気がする。 (間違ってたらごめんよ)
0697教えて君
NGNGchar ch[32] = "utudashinou";
と文字列を作ります。この文字列の末尾を指すようにポインタを使うと
char *p;
p = str1 + strlen(str1) - 1;となると本に書いてあるんですが
↑このポインタがどういったアドレス(?)を保持しているのか解らないです
ついでに、
char ch[32] = "utudashinou";←日本語文字だといけないっていうのは解ります
日本語は第1バイト、2バイトで一組で、1バイト目と2バイト目を逆にすると文字にならない
ってことですよね?・・・
0698教えて君
NGNG5行目のp = str1 + strlen(str1) - 1
は、p = ch + strlen(ch) - 1
です
0699デフォルトの名無しさん
NGNGp = ch + 1; その次の要素のアドレス
p = ch + 2; その次の次の要素のアドレス
p = ch + 3; その次の次の次の要素のアドレス
p = ch + strlen(ch); 終端NULL文字のアドレス
p = ch + strlen(ch) - 1; 最後の文字(終端NULL文字の1つ前)のアドレス
> 日本語は第1バイト、2バイトで一組で、1バイト目と2バイト目を逆にすると文字にならない
> ってことですよね?・・・
はい。
逆にすると文字にならないというより、おかしなことになるのでやめろ。
0700699
NGNG× p = ch; str1の先頭要素のアドレス
○ p = ch; chの先頭要素のアドレス
0701デフォルトの名無しさん
NGNGポインタ型変数の宣言の時
int *pnt;
int pnt*;
どちらでもよいの?
0702デフォルトの名無しさん
NGNG試しに自分でやってみましょう。
0703教えて君
NGNGもう一つよろしいですか?
なんとなくわかるんですが、
char str[][32];
char *p;
として、多重配列になった場合
p = (char *)str;
と、キャストしないといけないのはなぜですか?
0704デフォルトの名無しさん
NGNGとしたときのフォーマット指定部分の最後の \n は付けると付けないとでどう違うのか分からないのですが
違いはあるんでしょうか?
0705デフォルトの名無しさん
NGNG次元が違うじゃん。配列strに適合するポインタは
char (*)p[32] = str; /* 32要素のchar配列(strの先頭要素に相当)へのポインタ */
0707デフォルトの名無しさん
NGNGchar (*p)[32] = str;
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG多分、
int *pnt;
int* pnt;
の間違いだと思うけど。基本的には好みの問題なのでどっちでもよい。
>>704
付けても付けなくても動作は同じ。
fscanf()のフォーマット文字列のスペース、タブ、改行はどれも、
「スペース、タブ、改行のどれかがあったらなくなるまで読み飛ばす」
という意味。
0710704
NGNGサンクス!参考になりました
0711709
NGNG>fscanf()のフォーマット文字列のスペース、タブ、改行はどれも、
>「スペース、タブ、改行のどれかがあったらなくなるまで読み飛ばす」
>という意味。
の説明は合ってるはず。
0712デフォルトの名無しさん
NGNGvoid hage(char *str)は
関数内部に実体を持つか持たないかの差ですか?
hogeにポインタで渡すと配列サイズが分からない気がしますが・・・
やっぱり等価かなぁ
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGつーかやってみろよ。sizeof(str)とか
文字列だったら '\0' で終端がわかるだろ
0716712
NGNGありがとうございます
0717デフォルトの名無しさん
NGNG↑これって関数がポインタを受け取るときは(間接的に)配列を受け取る場合が多いから、わかりやすく書けるようにしただけだよね? 構文糖というかどうかは分からないけど。
0718デフォルトの名無しさん
NGNGこれ、どうやってつかうんですか?
0719デフォルトの名無しさん
NGNGポインタ配列
0720719
NGNGCoCreateInstance()とか1つの関数でいろいろな型(クラス)を
作って渡すのに使うのだと思う
例えば簡単に書くと
void hoge(int n,void **p)
{
switch(n){
case 0: *p=(char *)new char; return;
case 1: *p=(float *)new float; return;
・・・
default: *p=(int *)new int; return;
}
・・・これも嘘かも
new使ってるのがスレ違いとか言わないで
0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNGvoid *a[N];
void **p = a;
って使えるじゃん。ポインタ配列に適合するポインタでもいいんだよ?
それと、配列の生成は new char[n]
0723720
NGNGvoidのポインタ配列を参照するときにキャストするのならば
最初からキャストする型で宣言した方がいいのでは?と思い直したんですよ
hogeで作るオブジェクトは配列でなくて
1個のインスタンス生成を想定してましたが、
0724720
NGNG0725722
NGNG0726デフォルトの名無しさん
NGNG順次代入したい場合ってどうしたらいいの?
0727デフォルトの名無しさん
NGNGint a, b, c;
int *vars[] = { &a, &b, &c };
int i;
for (i = 0; i < 3; i++) *vars[i] = i;
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG一体何の関係が
0730デフォルトの名無しさん
NGNG例えば、
for(i=0; i<3; i++)
{
printf("%d\n", i)
}
において、一回だけprintfを実行させたい場合。
0731デフォルトの名無しさん
NGNGfor(i=0; i<3; i++)
{
*/
printf("%d\n", i)
/*
}
*/
0732デフォルトの名無しさん
NGNG{
if(i==0)printf("%d\n", i);
}
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNG単純に「void*へのポインタを使いたい時」でいいんじゃない?
たとえば
void free_mem(void **p)
{
free(*p);
*p = NULL;
}
でもいいんだし。
0735デフォルトの名無しさん
NGNG本当に感激しました。
よーし、この調子で明日は少し進むぞ〜
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGfor(;;) {
static int only_one=1;
if ( only_one ) {printf("hoge\n"); only_one=0;}
}
0738720
NGNG#define SAFE_DELETES(o) if(o){delete[] o;o=NULL;}
との違いは?
void*使ってたら型安全性もくそもないし
Cスレなのでdelete[] o;が嫌でしたらfree(o);と読んで下さい
0739デフォルトの名無しさん
NGNGそれメインループの中で初期化するときによくやってる
0741デフォルトの名無しさん
NGNG0742720
NGNG速度を取るかバイナリのサイズを取るかだね。
ただし、free自体にかかるコストがかなり大きいので、
場合によっては全体のコードサイズの関係でマクロの方が
遅くなるケースも考えられる。
0743720
NGNG0744720
NGNG度々スマソ。
0745デフォルトの名無しさん
NGNGfor(i=0; i<3; i++)
{
printf("%d\n", i);
break;
}
0746デフォルトの名無しさん
NGNG助けてください。読み込んだあとにHough変換するのですが、
よくわかりません
0747デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNGsw=0;
for(i=0; i<3; i++)
{
if(sw==0){printf("%d\n", i);sw=1;}
}
//printf(--) <= ;付けとけよ!
0749デフォルトの名無しさん
NGNG誰か教えてください。
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG学校の課題で出されているんですがqsort関数は使用不可なんです。
ポインタの位置を入れ替えてしないといけないみたいので。
0753デフォルトの名無しさん
NGNG6ビットごとの操作ってところで詰まっています
どっかにサンプルってないでしょうか?
0754デフォルトの名無しさん
NGNGif(a<b)
swap(&a,&b);
〜〜〜〜〜〜〜〜〜〜
swap(*aa,*bb){
int *cc;
*cc=*aa;
*aa=*bb;
*bb=*cc;
}
こんな奴かな?
0755デフォルトの名無しさん
NGNG構造体のソートなんです。
なんとかんらないでしょか?
0756デフォルトの名無しさん
NGNGstruct tbl tb1, tb2;
struct tbl *ptb1, *ptb2;
ptb1 = &tb1;
ptb2 = &tb2;
こんな感じで
0757デフォルトの名無しさん
NGNGもう少し詳しく教えてもらえないでしょうか?
ソートはどうやっておこなうのですか?
0758デフォルトの名無しさん
NGNG> ポインタのソートの仕方が分かりません。
>>755
> 構造体のソートなんです。
結局何がしたいのよ ? 構造体を指すポインタの配列があって、それをソートしたいの ? つまり...
struct _s {
/* ... */
} s[100];
struct _s p[100];
for(i = 0; i < sizeof(p)/sizeof(p[0]); i++){
p[i] = &s[i];
}
となってて、p[] をソートしたいのか ?
0759デフォルトの名無しさん
NGNG> Base64 エンコードやりたいのですが、
> 6ビットごとの操作ってところで詰まっています
> どっかにサンプルってないでしょうか?
「base64 サンプル ソース」 あたりでググレばいっぱいあるぞ。
でも、何故に「6ビットごとの操作ってところで詰まっています」なの ?
unsigned char in[3];
unsigned char out[4];
out[0] = in[0] >> 2;
out[1] = ((in[0] & 0x03) << 4) | (in[1] >> 4);
out[2] = ((in[1] & 0x0f) <<2) | (in[2] >>6);
out[3] = in[2] & 0x3f;
でいいと思うけど...。(適当に書いてるから、バグってたらごめんね。)
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGオプション次第
0762デフォルトの名無しさん
NGNGオプションって何でしょう?
0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNG自機の後ろについてくるまるくてフワフワした憎いヤツ。
オプションイーターに喰われてスゲー泣ける
0765デフォルトの名無しさん
NGNGいろいろな小数が入っています。
この配列のそれぞれ整数部分だけを取り出すにはどうしたらいいですか?
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG> オプション次第
つーか処理系 (コンパイラ他) 次第。
0768753
NGNG激しく感謝
0769デフォルトの名無しさん
NGNG> 最初にdoubleで宣言してある配列に、
> いろいろな小数が入っています。
> この配列のそれぞれ整数部分だけを取り出すにはどうしたらいいですか?
int で宣言してある配列に代入しろ。
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG* の書き忘れかな?
0772デフォルトの名無しさん
NGNG> 758のソースも何やってるのかわからんのだが。
> * の書き忘れかな?
もう少し、頑張りましょう。
0774765
NGNGなるほど、ありがとうございます。
>770
キャストって何ですか?
0775デフォルトの名無しさん
NGNGすかいらーくグループのひとつ
0777756
NGNGまずやりたいことを詳細に書いたら?
あの内容じゃワケワカラン
0779771
NGNG> p[i] = &s[i];
構造体へ構造体ポインタを代入できるの?
> 特に、どこに * を書き忘れたと思うの ?
struct _s p[100];
↓
struct _s *p[100];
0781デフォルトの名無しさん
NGNGもちつけ!
/\⌒ヽペタン
/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
0783770
NGNG#include <stdio.h>
main(){
double d=5.239;
d=(int)d;//(int)<=intへのcast
printf("%f",d);
return 0;
}
//こんなプログラムでわかるかな?なんとなくだよ
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGこの条件判定はどういう意味ですか?
0787デフォルトの名無しさん
NGNG*p かつ *p が ' ' でないなら
です
0788デフォルトの名無しさん
NGNGwhile(*p=0 && *p!=' ')
0789デフォルトの名無しさん
NGNGwhile(*p==0 && *p!=' ')
0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNGネタですか?
0792デフォルトの名無しさん
NGNGwhile(*p!=0 && *p!=' ')
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGwhile(*p==0 && *p!======' ')
0795デフォルトの名無しさん
NGNGはい、間違えてますが・・・
0796758
NGNGまあ、心配するな、元を間違った俺が一番悪いのは当然だ、すまん。コンパイルして見りゃ良かったんだけどな。
>>786
p の指す先が文字列の終端でなくてかつ空白でない間...
0797デフォルトの名無しさん
NGNG小さな出版社がある。そして文学ファンはこういった出版社を
潰さないため、今後も翻訳を続けてもらうために
1人で同じ本を2・3冊買うことが良くある。
我々もこういう時だからこそDelphi7を買って
ボーランドを支えるべきなんじゃないだろうか。
Delphi7の売り上げはDelphi8以降の開発資金となるし、
ボーランドジャパンの今後に大きな影響をもたらすだろう。
Delphi7の出来のみを云々するのは
あまりにも近視眼的ではないだろうか?
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNGありがとーベリーマッチ
んじゃ、whlie(*p)っていうのは、ポインターが最後まで行ってない間でFA?
0800デフォルトの名無しさん
NGNGみんなありがとね!
0801デフォルトの名無しさん
NGNG> んじゃ、whlie(*p)っていうのは、ポインターが最後まで行ってない間でFA?
Yes, 俺は、while(*p != '\0') と書くけどね。
0802デフォルトの名無しさん
NGNG注意。
”文字列を格納した”ポインターだけだよ。
0803デフォルトの名無しさん
NGNG大体わかってきたけど、まだポインタを使う意図が理解していません・・・
勉強してるうちにわかってくるもんなのかな?
0804デフォルトの名無しさん
NGNGたとえば関数に配列(文字列含む)を渡す時は
ポインタで渡すのが一般的です。
0805デフォルトの名無しさん
NGNGまだ多重間接参照とかポインタを仮引数として使った奴とか勉強してないから
修行してきます(・.・;)
0806ぶた
NGNG#define N 1500
#define XSIZE 320
#define YSIZE 240
main()
{
int x,y;
int count;
int image1[N][N],image2[N][N];
printf("OK1");
for(y=0;y<N;y++){
count=0;
for(x=0;x<N;x++){
image1[y][x]=count;
count++;
}
}
printf("OK2\n");
for(y=0;y<YSIZE;y++){
for(x=0;x<XSIZE*3;x=x+3){
image2[y][x/3]=image1[YSIZE-1-y][x/3];
printf("x=%d,y=%d, 中身%d\n",x,y,image2[y][x]);
}
}
}
が動きません。理由を教えてください
0807デフォルトの名無しさん
NGNGNで指定した数値を少なくして実行してみて。
0808765
NGNG遅くなりましたがありがとうございます
0809C初心者
NGNG>理由を教えてください
オーバーフローが原因ではないかと。。。
対策としては、
static int image1[N][N],image2[N][N];
~~~~~~
みたいにしてスタック領域に確保してみては。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGどのくらい小さくしたらいいと思いますか?
0812809
NGNGすみません。スタックではなく、静的でした。。。(--;
0813デフォルトの名無しさん
NGNG0814ぶた
NGNGしかし配列のなかにcountの値が格納されません。
どうしてですか?
0815デフォルトの名無しさん
NGNGgoto 820
0816ぶた
NGNG教えてください.countはきちんと表示されるのに実際
image2の中を見ると0ばかりです
0817C初心者
NGNG格納されていますよ。出力画面で[中身]の値が0でそう思っているのでしたら
printf("x=%d,y=%d, 中身%d\n",x,y,image2[y][x/3]); にかえてみては。
~~~~~
>814がどのような結果を求めているのかはわかりませんが。。。
それにしても、日本語 C が普及しなくてよかったと思った今日この頃っす。
0818C初心者
NGNGついでに逝ってきます。;y=-( ゚д゚)・∵・ターン
0819デフォルトの名無しさん
NGNGmain()
{
char name[50];
printf("名前を入力してください\n");
scanf("%s",name);
printf("%sですね\n",name);
return 0;
}
漢字で入力したいのですがどうすればできますか?
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNGできません
0823デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG??
scanfで入力するときできないんですが
0827デフォルトの名無しさん
NGNGだったらfgetsでもつかっておけ。
0828827
NGNG0829デフォルトの名無しさん
NGNGSystem::TextとどっかのライブラリのText定義が
曖昧ですよエラーが発生します(´д`;)
簡単に解決するにはどうしたらいいのでしょか。
どっかのライブラリの方は弄りたくないらしい
ですが・・・
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNGC#かな。よー分からんけど、クラス名を明示的に指定してみたら?例えば、
Text var;
↓
System::Text var;
たぶん、Textってクラスが名前空間に2つあるから、コンパイラが混乱してるんだと思う。
0832831
NGNG0833デフォルトの名無しさん
NGNG0834829
NGNG使いたい方のライブラリのクラス名が不明なので
もいっかい探してみます・・。
0835831
NGNG0836デフォルトの名無しさん
NGNG自分のPCだと
printf("\033[%d;%dH",x,y);
の実行結果が
[x;yH
となってしまうのですが・・・(ι ´ェ`)
どうすれば正しくエスケープコードを
認識してくれるようになるでしょうか・・・?
知り合いのPCだと正常に動作したソースを使ってます。
環境はペンティアム3の1.6Gでosはxpです。
他に記載すべき点があれば言ってください・・・。
よろしくお願いします。
0837836
NGNG[x;yHの前にエンターの記号みたいなのが表示されます(ι ´ェ`)
0838デフォルトの名無しさん
NGNGNT系のOSでは、Win32プログラムはエスケープシーケンスは使えない。
Win9xを使うか、16bitコンパイラを使うか、Console APIを使って書き換える必要あり。
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNG#include <string.h>
int main(){
char *str1 = "Borland International", *str2 = "atio", *ptr;
ptr = strstr(str1, str2);
printf("The substring is %s\n", ptr);
return 0;
}
//これで充分か?
0842デフォルトの名無しさん
NGNG>>839
> Console APIを使って書き換える必要あり
読めないのですか?
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG実装霊らしいが…
>>840
ftp://sources.redhat.com/pub/glibc/
0846デフォルトの名無しさん
NGNGVC++のCDの中に入ってる。
0847845
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGstrncmpを使うとすっきりとかけるんだけど。
0852デフォルトの名無しさん
NGNGどなたか解説お願いします
0853デフォルトの名無しさん
NGNGエスケープシーケンスについて調べてみれ
0854852
NGNG感謝感謝!!
エスケープシーケンスって言葉で検索するだけで情報がいっぱい得られました
ありがとうございました
0855デフォルトの名無しさん
NGNGCを大体マスターしたのですが、あまりにも生産性が低いため次の言語へ
いきたいと思います。
C#なんかよさそうだと思ったのですが、C++を1秒もやらずにC#を習得することは
現実的でしょうか。
C#はC++を改良したものだそうなので、どうしてもC++をやるのが無駄に見えてしまうのですが、
C++をやっておいたほうがよいのでしょうか。それとも、まったくの無駄足になるのでしょうか。
0856デフォルトの名無しさん
NGNGC# と C++ は別物。つか、なんでそんな事いちいち人に訊くわけ?
0857頭悪い人
NGNG順位を求めるプログラム作ってくださいな
#include <stdio.h>
main()
{
int dd[10],jun[10];
int jj,kk;
for(jj=0;jj<10;++jj)
jun[jj]=1;
printf("10個の数字を入力\n");
for(jj=0;jj<10;++jj)
scanf("%d",&dd[jj]);
for(jj=0;jj<10;++jj){
for(kk=0;kk<10;++kk){
if(dd[jj]<dd[kk])
jun[jj]=jun[kk];
}
}
for(jj=0;jj<10;++jj)
printf("%4d",dd[jj]);
printf("\n");
for(jj=0;jj<10;++jj)
printf("%4d",jun[jj]);
return 0;
}
こんな感じで
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGswap()
作ったら?
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG>if(dd[jj]<dd[kk])
>jun[jj]=jun[kk];
if(dd[jj]<dd[kk])
jun[jj]++;
にしてみれば?
それで出来るでしょう。
0862デフォルトの名無しさん
NGNG宿題代行してもらいたいならインデントくらいきちんとしろ。
読みづらいので放置。
0863頭悪い人
NGNG考え方違う?よくわからんのだけど
0864デフォルトの名無しさん
NGNG順位だと、タイ(同着)があるからちょっぴりだけロジック増える とか
0866デフォルトの名無しさん
NGNGfor(jj=0;jj<9;++jj)
for(kk=jj+1;kk<10;++kk)
if(dd[jj]>dd[kk]) jun[jj]++;
else if(dd[jj]<dd[kk]) jun[kk]++;
0867デフォルトの名無しさん
NGNGほら、順位もついでに表示させたいとか、とういいうことdhじゃろp
0868866
NGNGif(dd[jj]>dd[kk]) jun[kk]++;
else if(dd[jj]<dd[kk]) jun[jj]++;
0869頭悪い人
NGNG特にインクリメントのところが
0870デフォルトの名無しさん
NGNGそんなロジックいらないでしょ。結果的に。
つかqsort()使えよ。
教師の出題意図を出し抜くくらいでないと大物になれないぞ。
0871頭悪い人
NGNG0872デフォルトの名無しさん
NGNG> どういうことかはわからないけどできたよ
できたのか ? じゃいいな。とりあえず qsort 使う版作ったけど、必要ないってことで...。
0873デフォルトの名無しさん
NGNGa = b++;は
a = b;
b = b + 1;
になるんですか?
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNGコンパイラのバグですね。何を使っているんですか?
0878デフォルトの名無しさん
NGNGネタなのか。マジなのか。
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNGせいしだせいしだー
0881デフォルトの名無しさん
NGNG未定義厨がくるからヤメレ。
0882デフォルトの名無しさん
NGNGそら と 空
などの文字列を比較したときに同じ意味だと判定するロジック、ライブラリ、サンプルソースなどはありませんか?
あったら教えてください.
0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNGそういう仕様だから
0886デフォルトの名無しさん
NGNGコンパイラのバグだっていってるだろ。
マジなのに・・・
0887デフォルトの名無しさん
NGNGほら...
#include <stdio.h>
#include <string.h>
struct Dictionary_t{
char *Text;
char *Reading;
} Dictionary[] = {
{"空", "そら"}, {"太陽", "たいよう"}
};
int main(int argc, char* argv[])
{
struct Dictionary_t *p;
if(argc != 3){
printf("Usage: %s word1 word2\n", argv[0]);
return 2;
}
for(p = Dictionary; p < &Dictionary[sizeof Dictionary / sizeof Dictionary[0]]; p++){
if((strcmp(argv[1], p->Text) == 0 && strcmp(argv[2], p->Reading) == 0) ||
(strcmp(argv[2], p->Text) == 0 && strcmp(argv[1], p->Reading) == 0)){
printf("%s と %s は同じだよ。", argv[1], argv[2]);
return 0;
}
}
printf("%s と %s は違うよ。", argv[1], argv[2]);
return 1;
}
後は、辞書をひたすら入力しろ。
0888デフォルトの名無しさん
NGNGwin98で他に使えるコンパイラってありますか?
動作がなるべく軽いものがいいんですが。
0889デフォルトの名無しさん
NGNGb = a++; と b = ++a; の違いも知ってる。
ただ、本みたら= より ++の演算子の方が順位高かったから
あれ?なんでだろ?って疑問に思っただけ。
やっぱそういう仕様だからなのかな。
0890デフォルトの名無しさん
NGNGマジレスだけど、演算子の優先順位と、
b++ が加算前の値を返すこととは別の話。
まずは優先順位の意味について調べてみた方がいいと思う。
0891デフォルトの名無しさん
NGNGありがとう
0892デフォルトの名無しさん
NGNG>>2-10あたり見てみろ
0893デフォルトの名無しさん
NGNGまともな処理系とは?
0894デフォルトの名無しさん
NGNGおすすめは?
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNGDirectX使えますか?
0899デフォルトの名無しさん
NGNG使える
苦労したけど
0900デフォルトの名無しさん
NGNG> ただ、本みたら= より ++の演算子の方が順位高かったから
= より ++の方が優先順位が高いというのは、たとえば
b = a++; という式なら、
b = (a++); と等価であって、
(b = a)++; ではないということ。
(後者は実際には文法エラーだけどね)
要するに式内の各演算子の結び付く強さという感じ。
0901デフォルトの名無しさん
NGNGこういうこというやつって友達いねぇんだろうな・・・・
0902デフォルトの名無しさん
NGNGVCのコマンドラインコンパイラとか。
0903デフォルトの名無しさん
NGNG右から左に解釈されるだけでは?
0904デフォルトの名無しさん
NGNGおいおい大丈夫?
0905デフォルトの名無しさん
NGNGgcc は日本語化するとエラーメッセージがわけ分からなくなるので
英語のまま使え。
0906デフォルトの名無しさん
NGNG正しい!
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNGいなければ何か?
哀れみますか?
0912デフォルトの名無しさん
NGNG成人式までに職を見つけなければ,友を失う事になるでしょう
来年で良ければ
0913デフォルトの名無しさん
NGNGmemset( &Kouzoutai ,0 ,sizeof( DOUZO ) * DOUZO_MAX );
とかでいいんでしょうか?
それとも構造体のメンバ1個1個初期化していくんでしょうか?
0914デフォルトの名無しさん
NGNGそれとも
memset(&Kouzoutai ,0 ,sizeof(Kouzoutai));
の書き間違い?
0915913
NGNG構造体のメンバが配列で,
構造体は,ひとつです
0916デフォルトの名無しさん
NGNGがあったとすれば、
構造体のメンバにポインタが含まれている場合に
memsetではNULLが入らないね。
それ以外だったらmemsetでいいんじゃない?
または、変数を定義する時に
struct hoge Kouzoutai ={0,};
という感じで初期化してもいい。
0917デフォルトの名無しさん
NGNGメンバーにひとつひとつ値を入れていった方がよいぞ。
doubleの場合、すべてのビットが0が0.0と同じになるとはかぎらないらしいし。
0918913
NGNG>>916
>>917
あとあと知っておいて役に立つ事なので,ありがとうです
0919デフォルトの名無しさん
NGNGどうしてもメンバごとの代入がいやなら、
初期状態の構造体をひとつ作っておいて、丸ごと代入。
(初期化したい構造体) = (初期状態の構造体);
0920デフォルトの名無しさん
NGNGなるほど。
ANSIできちんと保証されているしな。
0921デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGつまり、Sleep(1000+x);ってのはダメ?xに数字を代入して。
0924913
NGNGvoid a()
{
KOU Kou;
Kouzou=Kou; //memcpyの方がいいか?
}
ではだめで,外部変数で用意しなきゃだめってことですよね?
それかa関数の中にstaticで用意するか
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNGconstついてるか確認して
0927デフォルトの名無しさん
NGNGなんでそんな質問する気になったの?
0928デフォルトの名無しさん
NGNGなんかサイレントヒルの裏世界に迷い込むぐらいの疲労を覚えたよ。
0929デフォルトの名無しさん
NGNG> b = a++; と b = ++a; の違いも知ってる。
> ただ、本みたら= より ++の演算子の方が順位高かったから
> あれ?なんでだろ?って疑問に思っただけ。
> やっぱそういう仕様だからなのかな。
ちょっとマジレス。
a++ は、(temp = a, a = a+1, temp) と言う形に展開される。
だから、b = a++; は、
(1) temp = a;
(2) a = a + 1;
(3) b = temp;
となる。ただし、(1) → (2), (1) → (3) の順序は、保証されてるけど、(2) と (3) の順序は保証されていない。((1) → (3) → (2) もありえるし、システムによっては (2) と (3) が同時に実行されるかもしれない。)
だから、a = a++; は、結果が保証されない。
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG923や929見て思ったんだけど、ここってそういうスレなの?
0933デフォルトの名無しさん
NGNGinc ax
mov b,ax
0934デフォルトの名無しさん
NGNGそんな面倒なことしないでも定義時に初期化すればいいじゃん。
それとも一旦何かに使った構造体を再初期化したいの?
0935デフォルトの名無しさん
NGNG禿しく同意。
0936デフォルトの名無しさん
NGNG1回構造体のメンバに例えばカウントを取る変数とかがあって,毎回0に初期化しないといけないんです
あとは,毎回座標を入れていったり
0937デフォルトの名無しさん
NGNG>>929 は結論は正しいが過程はでまかせ
どこがでまかせか、指摘してみ。
0939デフォルトの名無しさん
NGNGc%50
は,0.5とかになるはずなんですが,なぜに10が返ってきますか?
0940デフォルトの名無しさん
NGNG> c=10;
> c%50
> は,0.5とかになるはず
なんて知識をどっから仕入れた ?
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNGa++ も ++a も a+=1 も a = a+1 も (temp=a,a=a+1,temp) も同じと思われ
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGさんきゅ。
じゃあ今までどおりforの中などではa++を使うわ。++aってなんか格好悪くて嫌い。
0951デフォルトの名無しさん
NGNGいや、俺もまちがってたw
>>929の最後は"a=a++"の結果は保証されないって書いてあるので
0953デフォルトの名無しさん
NGNG新スレたてるよ。
0956デフォルトの名無しさん
NGNG0958953
NGNG0960デフォルトの名無しさん
NGNG偶然SHOW-Aのライブカメラのページが出てきた。
彼は変わりないようで、ちょっとさびしくマターリ
0961デフォルトの名無しさん
NGNG新スレ
過去ログなどは他の人に頼みます。
0963929
NGNG> だから>>929の論理だと、入れ替わってもbの値は変わらないんだって
お前、アホだろ。
b = a++; は、入れ替わろうが変わんないのは当たり前。
入れ替わって困るのは、a = a++; の時。(と書いてあるだろ。)
で、>>929 のどこがでまかせなんだ ?
0964デフォルトの名無しさん
NGNG後で訂正してるYO!
0965デフォルトの名無しさん
NGNG単にa=a++の結果は未定義なのでは?
aがどんな値でもa=a++を実行すると100になるような処理系
もつくることは可能で、当然それはANSIに準拠している。
(そんなことする奴はいないだろうが・・・)
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNGおまえら、本当にCが好きだな。と。
0970デフォルトの名無しさん
NGNG今頃。
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG;' ':..
;' === ==== / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
./ ● ● < ウタちゃんですが、何か?
./ ⌒ ▼⌒': \________
__ ./ 彡 ∵人∵ノミ___
 ̄ ./ _ ミ ノ"ミ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄━━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGchar (*lpbox)[60];
lpbox=&box[60];
これでやると,おかしくなるんですが,どう直せばいいんでしょうか?
lpbox=&box[50];
でもおかしかったです
0976デフォルトの名無しさん
NGNGこうだろ?
0977デフォルトの名無しさん
NGNG新スレの方で質問した方がいいよ。
このスレには粘着厨と煽りしか残ってないもよう。
0978デフォルトの名無しさん
NGNG&box[60]はboxの60番目の要素(先頭を0番目とする)のアドレスだぜ。つまりbox+60。
0979デフォルトの名無しさん
NGNG最初からポインタと配列を勉強しなおせ。
0980デフォルトの名無しさん
NGNGありがとう
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984真・スレッドストッパー。。。&rlo;止停:&lro;
NGNG0985偽・スレッドストッパー。。。
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988未定義・スレッドストッパー。。。
NGNG0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
0997デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
C言語なら俺に聞け<34>
http://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
C言語なら俺に聞け<34>
http://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
0998デフォルトの名無しさん
NGNG∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)/ < 先生!横から1000取ってもいいですか?
__ / / \___________
\⊂ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄ ̄||
...|| ̄ ̄ ̄ ̄ ̄||
0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
C言語なら俺に聞け<34>
http://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
C言語なら俺に聞け<34>
http://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
C言語なら俺に聞け<34>
http://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
C言語なら俺に聞け<34>
http://pc3.2ch.net/test/read.cgi/tech/1033240509/l50
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。