C言語ならアタシに聞きなさい<37>
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGC言語は時代遅れなんかじゃないです。
みんな大好きなんです。このシリーズの速さがそれを物語っています。
・C FAQ 日本語訳
http://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/
推薦図書/必読書のためのスレッド PART6
http://pc3.2ch.net/test/read.cgi/tech/1033207156/
・前スレ <36>
http://pc3.2ch.net/test/read.cgi/tech/1035211039/
コンパイラ、過去ログなどのリンクは>>2-5 あたり
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/
【ライセンスや機能などに問題あり】
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
0003デフォルトの名無しさん
NGNGhttp://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
http://www.bloodshed.net/index.html
【注意】
Cmachineは一般的なCと挙動が違いすぎるので動作の保証はできません。
まともな処理系を使いましょう。
0004デフォルトの名無しさん
NGNGだから回転がはやい。
しかも3すれごとに同じ質問が繰り返されている。
0005デフォルトの名無しさん
NGNG2/5
0006デフォルトの名無しさん
NGNG( ´∀`)/<先生!
_ / / / \オススメのコンパイラーを教えてください。
\⊂ノ ̄ ̄ ̄ ̄\ \_____________
||\ \
||\|| ̄ ̄ ̄ ̄ ̄||
|| || ̄ ̄ ̄ ̄ ̄||
.||
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGa) ┏━┳━┓
. ┃←╂→┃
. ┗━┻━┛
それとも、こうですか?
b) ┏━┓
. ┃↑┃
. ┣┿┫
. ┃↓┃
. ┗━┛
「水平軸回転」は b) ですよね。
0009デフォルトの名無しさん
NGNGa) /⌒
( ↑
ヽ、__ノ
それとも、こうですか?
b) ⌒ヽ
↑ )
ヽ、__ノ
00104
NGNGはやくも無駄にスレが使われました。ここまでで意味があるのはかろうじて
1-3
ぐらい。といってもリンクだけだけど。
0011デフォルトの名無しさん
NGNGまぁ所詮はこの程度でしょ。
0012デフォルトの名無しさん
NGNGあなたは誰ですか?
0013デフォルトの名無しさん
NGNGmemset((char*)&server,0sizeof(server));
ってのを本で見かけたんですが
ansiiの規格では
void*memset(void*,int,int,size_t)
っていうふうになってますよね
なんでわざわざchar*型にキャストする必要が
あるんですか?
おしえてくふぁさい
0014デフォルトの名無しさん
NGNG同じ行を読み直すとか、そういう場合には困るような気がするんですが(そういうことする必要ないか?)
ってかよくFILE *fp = fopen(hoge)ってので*fpがつかわれますが、この*fpの先の実体はどうなってるんでしょうか?
001615
NGNGヘッダーでも調べろ。FILEは構造体だ。
0017デフォルトの名無しさん
NGNG昔は void がなかったので(汎用ポインタには) void * の代わりに char *
を使ったらしいです。その名残ではないでしょうか?
0018193→一休さん
NGNG0019デフォルトの名無しさん
NGNG実体はライブラリによって異なるから、
調べる意味がないようなきもする。
が、ライブラリのソースまで追って行くのであれば
それはそれで勉強になるか。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGでは、コミットするページ領域のサイズはいくつになるんでつか?
0023デフォルトの名無しさん
NGNGなぜCスレできくのでつか?
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNGあっ、レスありがとうございます!
倉本安奈ちゃんかあ、今度見てみます!どうもですー
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG左側はその文字列の先頭アドレスでいいよね。
右側は、デリミタを検索(連続はチェックしてね)してその次のアドレスでいいよね。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGstrchrあたり使ってなんとかすれ。
0035デフォルトの名無しさん
NGNGint i, j, k, *p ;
p = a[i];
k = p[b[j]];
とやるとき
for (i = 0; i < 10; i++)
b[i] *= sizeof (int);
としておいて
k = *((int *) ((char *) p + b[j]));
とやったほうが速いように思うんですけど
このコードは移植性がありますか?
003631
NGNGていうか、Cを学びたいのであれば、ぜひやってみて下さい。
0037デフォルトの名無しさん
NGNGそれくらい自分でやってくれると嬉しいのですが。
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGいや、そうなんだろうけど、ここでの意味は?
0043デフォルトの名無しさん
NGNG004431
NGNGそうじゃないです。僭越ですが、私はこのように書きました。
デリミタが見つからない場合と、文字列の最後に見つかった場合は
NULLを返します。
#define delimit 0x20
char *divide( const char *s )
{
char *myPtr;
if( myPtr = strrchr( s, delimit ) )
if( *(myPtr++) == NULL )
myPtr == NULL;
return myPtr;
}
0045デフォルトの名無しさん
NGNGchar *strchr(const char *str, int c)
{
c = (char)c;
while (*str && *str != c)
++str;
if (*str == c)
return (char *)str;
return NULL;
}
0046デフォルトの名無しさん
NGNGそれってどこのフォルダにありますか?
0047デフォルトの名無しさん
NGNGhttp://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/i386/strchr.S?rev=1.12&content-type=text/plain&cvsroot=glibc
これが最高に参考になります(藁
0048デフォルトの名無しさん
NGNGVCインスコしたディレクトリの中にCRTっていうとこ。
CRTのインスコはオプションだよ。
0049デフォルトの名無しさん
NGNGありがとうございました
0050デフォルトの名無しさん
NGNGほかのスレに書いたんですがレスないでつ。
0051デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/library/jpwinpf/_win32_virtualalloc.htm
0052デフォルトの名無しさん
NGNG> c = (char)c;
なんだコリャ ?
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG47のでいいじゃねえか。
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG通報しますた
0057デフォルトの名無しさん
NGNG通報しました
0058デフォルトの名無しさん
NGNGもう一回通報しますた
0059デフォルトの名無しさん
NGNGMSKKにも通報しますた
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG1ビット比較するのと4ビット比較するのはどっちが早いと思う?
006261
NGNG0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGどういう意味?
0065デフォルトの名無しさん
NGNG4ビットって?
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG厨ばっかだからか?(プ
0068デフォルトの名無しさん
NGNGレジスタって知ってる?
0069デフォルトの名無しさん
NGNG切り詰めて比較する必要はないだろう。
0070デフォルトの名無しさん
NGNG笑うとこか?C++はさっさとdat落ちか糞スレになる運命。
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGSTLで今日もfunctionalかつgenerativeにコーディングしましょう。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG下位の8ビットだけ使うって事なんでしょ?
0075デフォルトの名無しさん
NGNG何でint変数にcなんて名前つけるの?
0076デフォルトの名無しさん
NGNG一文字ってことなんじゃないの?
0077デフォルトの名無しさん
NGNGでいいだろ
0078デフォルトの名無しさん
NGNGそれ、コンパイルできるの?
0079デフォルトの名無しさん
NGNGでもそれじゃダメだな。符号拡張しなきゃ。
0080デフォルトの名無しさん
NGNGC &= 0xff;
みたいに書いて欲しい。
008177
NGNGさっきはゴメン、頭眠ってるかも・・・オヤスミ...
0082デフォルトの名無しさん
NGNGそれじゃだめじゃん。
つーか普通に c = (char)c; でいいじゃん。
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGだから、int cの下位8ビットだけ使うってことでしょ?
0085デフォルトの名無しさん
NGNGc=(char)c
↑これやるとなにか違いがあるの?
今Cコンパイラないから確認できないけど、意味内と思うよ。
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGたとえば、cの内容が0x1111だったら明らかに違うじゃん。
0088デフォルトの名無しさん
NGNGアフォか。
char *str と int c を比較すれば int 型に暗黙変換される。
その時の *str が取りうる値は (int が 32-bit として)
0xFFFFFF80 (-128) 〜 0x0000007F (127) だ。
単にビットを切り取っただけだと、0x00000080 (128) を超える
数値ができて比較になんねーだろ。
char が unsigned char の処理系なら問題ないだろうけど。
0089デフォルトの名無しさん
NGNGこれならなんとなくわかるけど、
実際吐き出すコードはどうなるんだろう
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGc = (char)c;
で、VC++ 6.0 は...
movsx eax, BYTE PTR _c$[esp-4]
と言うコードを吐くから、とりあえず下位8ビットを符号拡張してるね。
0092デフォルトの名無しさん
NGNGつーか、なんで >>45 のコードに c = (char)c; が必要なの ?
0093デフォルトの名無しさん
NGNGmovsbl -4(%ebp),%eax
movl %eax,-4(%ebp)
下位1バイトを切り取ってる。
0094739
NGNGGCCだろ.
0095デフォルトの名無しさん
NGNG仮に char c=(char)i だった場合、*strとの比較は1バイトになるんですかね?
なんか4バイト比較しそうな気がする。CPUが命令もってないか、
速度変わらないとかで。
0096デフォルトの名無しさん
NGNG>>94
GCCだとGNU Compiler Collectionになりますが。
0097デフォルトの名無しさん
NGNG普通は1バイトずつ比較する。
CPU が命令持ってない時は、マスクして比較する。
0098デフォルトの名無しさん
NGNGアセンブリコードなどこの際関係ない。
下位型と上位型の演算は上位型にキャストされるという大原則を思い出せ。
・・・アセンブラコードって何だよ、アセンブルした時のエラーコードか?
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGその行があるのと無いのでは挙動がちがうじゃん。
わからんの?
0101デフォルトの名無しさん
NGNGだから、何のために「その違う挙動」が必要なのか聞いてるんだけど。
日本語理解できてないのか ?
0102デフォルトの名無しさん
NGNG>仮に char c=(char)i だった場合、*strとの比較は1バイトになるんですかね?
いや、*strとの比較はintで行われるよ。
0103デフォルトの名無しさん
NGNGint cにcharの範囲を越えてるようなものを渡されたときのためですか?
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG> だから、何のために「その違う挙動」が必要なのか聞いてるんだけど。
strchrの仕様がそうだからだよ。
0106デフォルトの名無しさん
NGNG> だから、何のために「その違う挙動」が必要なのか聞いてるんだけど。
おまえ、そんなことは聞いてないじゃん。
0107デフォルトの名無しさん
NGNG> strchrの仕様がそうだからだよ。
c = (char)c; がない時に、strchr() の仕様に合致しない例を挙げよ。
0108デフォルトの名無しさん
NGNGのコードはそういう処理をしてないよね。
0109デフォルトの名無しさん
NGNG意外と知られていないが、
'a'などの文字リテラルはCではint型。
0110デフォルトの名無しさん
NGNGcに0x111が入ってたら?
(つくづくわかってない奴だな…)
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGchar c = (char)i;
じゃなくて
i=(char)i;
なんだろ。
int型に入れたらその後の比較でsizeof(int)単位で比較しなきゃいけなくなるでしょ?
char,charの比較ならcmpblで1バイトの比較になる。
0113デフォルトの名無しさん
NGNGどれのこと言ってるの?
0114デフォルトの名無しさん
NGNGお前は、アフォか ?
c に 0x111 が入っていた時の挙動が定義されてんのか ?
>>111
そう言う意味では、c = (char)c; があるほうが危険と思うけど。
c = (char)c; がなくて、c に 0x111 があるような状況だと、単にそう言う文字がないだけになるからね。
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNG貴方は、正しい。俺もそう思うし、VC++ 6.0 の strchr() もそうしてる。
(別の変数にはしてないけど、比較の時にキャストしてる。)
0117デフォルトの名無しさん
NGNG>>45のstrchrです。
そんなもの渡す方が悪いんだろうけど、無い。で帰ってきたほうが親切なような。
0118デフォルトの名無しさん
NGNG> c に 0x111 が入っていた時の挙動が定義されてんのか ?
え? もしかして挙動がわからのの?
0119デフォルトの名無しさん
NGNG>c = (char)c; がなくて、c に 0x111 があるような状況だと、単にそう言う文字がないだけになるからね。
やっぱり分かってない。
0120デフォルトの名無しさん
NGNGわかったから、はよかけよ。その「挙動」とやらを。
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNGってなに?
0125デフォルトの名無しさん
NGNG>c = (char)c;
C言語の標準型はintなのは知ってるのかねえ・・。
*strもintに直されるんで、わざわざint->char->intにして
符号拡張させるんですよ。
バカども。
0126デフォルトの名無しさん
NGNGど う し て 0x111 が 例 に 挙 が る ん だ ?
'ア' を指定したときの動作で十分説明つくだろうが。
0127デフォルトの名無しさん
NGNGCESは?
0128デフォルトの名無しさん
NGNGこのスレの流れだったら、べつにどっちでもいいやん。
0129デフォルトの名無しさん
NGNGなんか見当はずれなことを言ってる馬鹿がいますよ。
0130デフォルトの名無しさん
NGNG0131125
NGNGうわ、理解できてないヤシがいるよ(藁
ほんとバカだな・・。
char *r = strchr("abcde\xff",-1);
rには"\xff"が入るっての、理解できる?
0132デフォルトの名無しさん
NGNGこれを int として渡すと 0xFFFFFFB1
下位 8bit だけを抜き出すと 0x000000B1
一方 *str の取りうる値は 88 の通り 0xFFFFFF80 〜 0x0000007F
なので str に ア が含まれてても発見できない
0134デフォルトの名無しさん
NGNGそれは違うよ。
0137デフォルトの名無しさん
NGNG違うというだけでなく何がどう違うのか指摘しないと無視されるぞ
0138デフォルトの名無しさん
NGNGどっち派でもいいから、すっきりとした解説おながいします。
0140デフォルトの名無しさん
NGNG0141125
NGNGchar *r = strchr("アイウエオ",'ア');
rは"アイウエオ"
0142デフォルトの名無しさん
NGNG別に無視でもかまわないけど。
0143125
NGNG単にC言語のchar->int符号拡張の話。
0144デフォルトの名無しさん
NGNGうるせーよ。ばか。
0145デフォルトの名無しさん
NGNG0146125
NGNGわかんねーやつは、
このコードで、何が起きているのかよく考えろ。
バカども。
0147デフォルトの名無しさん
NGNG・処理系依存
・void main
・符号拡張
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG> char *r = strchr("abcde\xff",-1);
> rには"\xff"が入るっての、理解できる?
r じゃなくて、*r だろっ。って言う突っ込みは置いといて、これって規格で決まってんのか ?
char が符号無しの処理系において、-1 なんか渡してもいいのか ?
'\xff' を渡すのなら理解できるが...。
0151デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNGまあ、間違いというか無意味だけど、
今回はstrchr()の挙動の話だから。
0154125
NGNG0155デフォルトの名無しさん
NGNG'\xff' はすなわち -1 だ。
char が符号付である処理系では。
0156デフォルトの名無しさん
NGNGそれなりってなんだよ。
キャストしなくても途中で致命的なエラーが発生したりはしないだろ。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGなんで、あんたがヒスを起こすの?
0159デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG1の補数表現でも-1になるんだっけ?
0162デフォルトの名無しさん
NGNGお前は、アフォか ? その時の挙動が規定されてんのか ? って聞いてんだよ。
ちなみに言っとくけど、-1 の下位8ビットが 0xff なんてことは、規定されてねーからな。
0163125
NGNG0164デフォルトの名無しさん
NGNG顔真っ赤ですよ。
0165デフォルトの名無しさん
NGNG「符号無しの処理系において」と書いてあるの見えない ?
0166125
NGNG0168デフォルトの名無しさん
NGNGchar *strchr_a(const char *str, int c)
{
c = (char)c;
while (*str && *str != c) ++str;
if (*str == c) return (char *)str;
return NULL;
}
char *strchr_b(const char *str, int c)
{
while (*str && *str != c) ++str;
if (*str == c) return (char *)str;
return NULL;
}
int main()
{
const char * str = "abcde \xFF abcde";
printf("str = %p\n", str);
printf("strchr_a = %p\n", strchr_a(str, '\xFF'));
printf("strchr_b = %p\n", strchr_b(str, '\xFF'));
getchar();
return 0;
}
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG「規定」というか、決まってるでしょ?
> ちなみに言っとくけど、-1 の下位8ビットが 0xff なんてことは、規定されてねーからな。
はげしく勘違いしてる予感
0171デフォルトの名無しさん
NGNG俺?もちろん厨房さ。
0172デフォルトの名無しさん
NGNG> 挙動って何?
日本語もわからんのか...。まあ、落ち着けよ。
0173125
NGNG0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG> 「規定」というか、決まってるでしょ?
どう決まってんの ?
0176デフォルトの名無しさん
NGNGププッ、捨てぜりふモードに入りましたね。
0177デフォルトの名無しさん
NGNG他人をややオカマ口調でバカバカいう125たんと
0x111とか言った香具師のせいでこんがらがってるだけだな。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG必死な>>125がいるスレというのはここですか?
0180デフォルトの名無しさん
NGNG{
for(;*str;str++)
if(*s==(char)c)
return (char *)str;
return NULL;
}
じゃだめなの?
0181デフォルトの名無しさん
NGNGここです。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGとりあえず VC++ 6.0 では、
char * __cdecl strchr (
const char * string,
int ch
)
{
while (*string && *string != (char)ch)
string++;
if (*string == (char)ch)
return((char *)string);
return(NULL);
}
となってて、char 同士で比較するようになってる。
0186デフォルトの名無しさん
NGNGなんで?
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGこういう奴は仮に正しいことを言ってても, 真っ先に白い目でみられんだよね ...
もう少し肩の力を抜けばいいのに...
0189デフォルトの名無しさん
NGNGそれだ
0190デフォルトの名無しさん
NGNGだから、ダメな例をちゃんと挙げろよ。
0191デフォルトの名無しさん
NGNG処理系定義
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGいいじゃん。
0196デフォルトの名無しさん
NGNGだったら、この処理系では結果は不定ですって言うのもありか ?
そうなら、c = (char)c; は不要じゃん。
0197デフォルトの名無しさん
NGNGこの素直じゃないコードを書いた人の顔を見てみたい。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGどこら辺がおかしいとお思い ?
0201デフォルトの名無しさん
NGNGごゆっくりお楽しみ下さい。
0202デフォルトの名無しさん
NGNG> なんでここは話題に事欠かないの。誰かネタ帳でも持ってるの。
たいした事ないネタに食いつく奴が (今回は >>125) が多いからだろ。
0203デフォルトの名無しさん
NGNGなんでわざわざ int ch としてるのか。
0204125
NGNGバカどもは徹夜で考えてなさいよ。
つーかまず質問するまえにぐぐれ。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG素直に一文字ずつ見ていって見つかればそこでreturn。見つからなければ(ループを抜けたら)NULLを返せばいいと思う。
0208デフォルトの名無しさん
NGNGネタ帖は>>147に。あとは誰か補完してください。
0209デフォルトの名無しさん
NGNG>>154 この辺も萌えるよ。
0210デフォルトの名無しさん
NGNGNULLは0(全ビット0)か?を忘れているぞ。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG>>109
0213デフォルトの名無しさん
NGNGつか、C FAQでいいじゃん。
0215デフォルトの名無しさん
NGNG109は説明になってないよ。
0216デフォルトの名無しさん
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c_faq.html
0217デフォルトの名無しさん
NGNGじゃ、ほんとは
int *str = "abcde";
って書くのが正しいの?
0218デフォルトの名無しさん
NGNG>>180 ってこと ? 大して変わらんと思うけど。
0219デフォルトの名無しさん
NGNGそうは書けないね。
0220デフォルトの名無しさん
NGNGマクロによってstrspnのソースになったりstrpbrkのソースになったり・・・
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGということでOK?
0224デフォルトの名無しさん
NGNGいや、キャストは必要。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG2の補数を採用してないCPUなんてめったにないだろ
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGそれって、昔の話では…
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGおまえC++と混同してるだろ。
Cは221で合ってる。
0232デフォルトの名無しさん
NGNG負数に2の補数を使ってないCPUなんてあるのか?
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGPS2のCPUとか。
0235デフォルトの名無しさん
NGNGはじめっからCは高級アセンブラって位置付けなんだから
変な期待すんな
0236デフォルトの名無しさん
NGNGモノは使いよう。
クソソースを作るやつがクソ
つーか age る程の話題ではない
0237デフォルトの名無しさん
NGNGたとえば
void hoge(char ch);
という関数があったら、intに変換されるってこと?
わけわからん。
0238デフォルトの名無しさん
NGNG解説お願いします。
0239デフォルトの名無しさん
NGNG未定義・処理系依存が多すぎるじゃん!
0240デフォルトの名無しさん
NGNGマジで?
gccとかやばいんでない?
0241デフォルトの名無しさん
NGNGn = c - '0';
みたいなのは0x80をまたいでは使えないんだね。気付かなかった。やらないけど。
0242デフォルトの名無しさん
NGNGだから、ないとまずい理由をちゃんと書け。
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGだれに返事してるの?
0245デフォルトの名無しさん
NGNGCと関係なくてスマソ
0246デフォルトの名無しさん
NGNGつーか、その話題まだ引きずるの?
0247デフォルトの名無しさん
NGNGひとりごとだ、スマソ
0248デフォルトの名無しさん
NGNG独 り 言 禁 止
0249デフォルトの名無しさん
NGNGそれは、Windowsの実装の話でしょ。
C一般の話じゃないよ。
0250デフォルトの名無しさん
NGNG前スレにstrcpy(str,NULL);やstrcpy(str,0);はOKみたいなことが書かれていたんですけど。
0251デフォルトの名無しさん
NGNGでも、一般的なPC環境はWindowsだよね
0252デフォルトの名無しさん
NGNGOS依存、処理系依存禁止
0253デフォルトの名無しさん
NGNGそんなこと気にしてるの、お ま え だ け だ よ
そんなこと気にしてるの、お ま え だ け だ よ
0254デフォルトの名無しさん
NGNGふ か わ り ょ う 禁 止
ふ か わ り ょ う 禁 止
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG'A':文字定数->int型として解釈される
"hoge":文字列リテラル:一文字一文字はcharとして解釈される
0257デフォルトの名無しさん
NGNGあれがないと、'ア'を渡したとき、
int c = 0x000000B1のままになってしまうから。
ではどうですか?
0258デフォルトの名無しさん
NGNG*strで参照するとintに拡張されますが。
0259デフォルトの名無しさん
NGNGWinで1バイトの引数を4バイトの領域を使って渡してるのを、
↓これと、混同してるわけ?
>221 :デフォルトの名無しさん :02/10/27 03:09
>関数の引数として渡すと char、short は int に float は double に自動的に変換されるのです
0260デフォルトの名無しさん
NGNG結局俺は、c = (char)c; が必要かどうか、わからんかった。
誰か、まとめてくれないか ?
0261デフォルトの名無しさん
NGNG混同ではないよ。
Windowsの規約。
0262デフォルトの名無しさん
NGNGでも受けれたりするのを考えれば >>221 は自ずと分かると思いますが
ダメでしょうか?
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGだからCの話と関係ないじゃん。
0265デフォルトの名無しさん
NGNG?
0266デフォルトの名無しさん
NGNGそれこそ中でキャストしているだけじゃ・・・
0267デフォルトの名無しさん
NGNGこの話は、それとは違うじゃん。
0268デフォルトの名無しさん
NGNGそれを書いたものだが、そんなことしてOKなんて一言も書いてないぞ。
ただしやっていかんとも書いてない。なぜなら、その時の議論には
全く関係のないことだったからだ。
0269デフォルトの名無しさん
NGNG必要。
0270デフォルトの名無しさん
NGNGキミもしつこいね。
0271デフォルトの名無しさん
NGNG0x111 のような文字とは思えないデータでも文字データとして扱うなら必要
文字とは思えないデータははじいてしまうなら不要
という事でよろしいか?
0272デフォルトの名無しさん
NGNG理由書けバカ。
0273デフォルトの名無しさん
NGNG渡された引数の型が分からないのにどうやってキャストするのさ?
0274デフォルトの名無しさん
NGNGあんな、プロトタイプが与えられてない場合と、不定数引数の場合だけ
charがintに昇格するなどの暗黙の処理が入るんだ。
不定数引数ってのは、
int printf(const char *, ...);
みたいな関数の...の部分な。
0275デフォルトの名無しさん
NGNG君、勉強不足だね。
0276デフォルトの名無しさん
NGNG717 :デフォルトの名無しさん :02/10/25 16:37
char a[100];
/* 配列に空文字列をセットする3つの方法 */
strcpy(a, NULL);
strcpy(a, 0);
strcpy(a, "");
どこが関係のないことだ?NULLを渡すと空文字レスがセットされると書いているが?
0277デフォルトの名無しさん
NGNG教えてもらいたかったら、土下座しろ。
0278デフォルトの名無しさん
NGNGだから、>>242 にも書いたけど、ないとまずい理由を書いてよ。
0279デフォルトの名無しさん
NGNG%fならdoubleに、%dならintにキャストすればいいだろ。
0280デフォルトの名無しさん
NGNG今モニタの前で土下座してます。
0281276
NGNG○ 空文字列
0282デフォルトの名無しさん
NGNG( ゚д゚).......
0283デフォルトの名無しさん
NGNGすまんすまん、おれが書いたのは
http://pc3.2ch.net/test/read.cgi/tech/1035211039/742
だ。
0284デフォルトの名無しさん
NGNG*strがintに拡張されるのはint型の変数と比較するからだろ。
文字列リテラルの型とは関係あるのか?
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGあれは何をやってんだろう。
0288デフォルトの名無しさん
NGNG45のソースではc=(char)c;が無いと、仕様どおり動かないから。
0289デフォルトの名無しさん
NGNGキャストってのはね、「元の型」と「キャストする型」の両方が分かってないとできないのよ
0290デフォルトの名無しさん
NGNGパソコンユーザ全体だと確かにおっしゃる通りなのですが、
プログラマの仕事の環境となると、ハードウエアはPC/AT互
換機が現在では一般的といえたとしても、OSは、wnidowsが
そこまでの一般性があると言い切るのは少し抵抗があります。
しかし、実勢としては、windowsしか知らないユーザ/プ
ログラマがそのように感じたり言ったりすることが間違いだ
とことさらに否定するほど、windowsの存在は小さなもので
はないので、微妙ではありますね。
何ごとも、ひとたび多数派となれば、その他の世界を知ら
ないか無視してしまう人も出てくるのは避けられないわけで、
その意味では今はwindows”専門”ユーザ/プログラマが目
立ってしまっているのは事実です。
0291デフォルトの名無しさん
NGNG> 0x111 のような文字とは思えないデータでも文字データとして扱うなら必要
それ余計にまずくない ?
0292デフォルトの名無しさん
NGNGその 「仕様」 の文またはポインタをキボンヌ。
0293デフォルトの名無しさん
NGNG何で、具体的に書いてくれないの ?
どう言う仕様に違反するのさ。
0294デフォルトの名無しさん
NGNG0x3131 を指定しても '1' として扱うのが仕様なのか?
0296デフォルトの名無しさん
NGNG環境が普及してるかどうかって問題じゃないんだけど…
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGデファクトスタンダードって言葉がある。
0300デフォルトの名無しさん
NGNGつーか、「一般的なPC環境はWindowsだよね 」と言うのは、まあ当たってると思う。
しかし、C で作られたプログラムの一般的なプラットフォームが PC と言うのは了見が狭すぎ。
0301デフォルトの名無しさん
NGNGhttp://www.mkssoftware.com/docs/man3/strchr.3.asp
自分で探しなよ。
googleで検索したら一番上にあったよ。
0302デフォルトの名無しさん
NGNGsoでもおんなじですが。
0303デフォルトの名無しさん
NGNGCの規格にそんな言葉はありませぬ。
0304デフォルトの名無しさん
NGNGでも、規格はデファクトスタンダードによって作られる。
0305デフォルトの名無しさん
NGNG> 漏れはマズイと思う。
だったら、c = (char)c; はいらないんじゃないの ?
> でも実際、漏れが 0x111 を指定して strchr() を呼ぶ事はないから問題ない。
と言うなら、特にね。
(何で、これで「必要」と言う結論に至るのか理解できん...。)
0306デフォルトの名無しさん
NGNG少しは頭使え
少 し は 頭 使 え
0307デフォルトの名無しさん
NGNGint hoge(char c);
この関数の引数が、符号拡張されて渡されるなんて言うのは、
議論の余地なく間違ってるよ。
0308デフォルトの名無しさん
NGNGhttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/strchr.3.html
こっちは書いていないけど。
linux向けとはいえ、標準関数はきちんとANSIに乗っ取って書いてあるはず。
0309デフォルトの名無しさん
NGNG0x80-0xffを指定したときに、仕様通りに動作しないから
0311デフォルトの名無しさん
NGNGネタですか?
0312デフォルトの名無しさん
NGNG309 は >>168 を試してないだろ。黙れ。
0313デフォルトの名無しさん
NGNG気のせいですか。
0314デフォルトの名無しさん
NGNGそれは記述が省略してあるんじゃない?
0315デフォルトの名無しさん
NGNGそんな 1 プラットフォームの実装なんか見せられたって意味ないよ。
ANSI ではどうなってる?
0316デフォルトの名無しさん
NGNG気のせゴホッゴホッ。。
0317デフォルトの名無しさん
NGNGchar *str="\xff";
if(strchr(str,0xff)) とやると偽になるってこと?
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGネタですか?
0320デフォルトの名無しさん
NGNGネタですか?
0322デフォルトの名無しさん
NGNGANSIではcharでキャストするらしいよ。
0324デフォルトの名無しさん
NGNG> 「必要」 とは一言も言ってねえ。
はあ ?
>>271 「0x111 のような文字とは思えないデータでも文字データとして扱うなら必要」
自分の書いたことぐらい覚えておけ、ヴァカ。
> 第一、c = (char)c; が問題になるタイムクリティカルな局面では、
> C なぞ使わん。
タイムクリティカルだってさ。(藁
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGうん。今度試してみる。
0327デフォルトの名無しさん
NGNG真になるよ。
charが8ビットなら。
0328デフォルトの名無しさん
NGNGお言葉ですが、この中に何人C使いがいるとお思いですか?
0329308
NGNG> 標準関数に関してはANSIに乗っ取っているってば。。。
> もし拡張しているならきちんと明記してある
間違いなくそうなのか?
その根拠が示されてないっての。
>>322
情報へのポインタをキボンヌ。
0331デフォルトの名無しさん
NGNGすいません。馬鹿な素人ばかりでした。
0332デフォルトの名無しさん
NGNG> 情報へのポインタをキボンヌ。
「新ANSI C言語辞典」という本
0333310
NGNG>271 「0x111 のような文字とは思えないデータでも文字データとして扱うなら必要」
おおそうとも、まさにそう書いた。
だが、その後 「文字とは思えないデータははじいてしまうなら不要」 とも書いた。
その状況で、何で漏れが 「必要」 と言いきった事になるんだ?
0334java厨
NGNG0335デフォルトの名無しさん
NGNG今 夜 は 出 来 の 悪 い 連 中 一 同 徹 夜 で す か
0337329
NGNG322 サンクス。
0338デフォルトの名無しさん
NGNGここは C のスレです。
0339デフォルトの名無しさん
NGNGオマエモナー
0340デフォルトの名無しさん
NGNG間違ったことばかり言っているのを聞いているようだ。
0342デフォルトの名無しさん
NGNGたのむ。
0343デフォルトの名無しさん
NGNGオマエモナー
>>342
オマエモナー
0344デフォルトの名無しさん
NGNGお前は、リンクもたどれねーのか ?
>>271
0x111 のような文字とは思えないデータでも文字データとして扱うなら必要
>>291
それ余計にまずくない ?
>>299
漏れはマズイと思う。
と言うのなら、「0x111 のような文字とは思えないデータでも文字データとして扱う」なんて状況を何故書く ?
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNGruby禁止
0347デフォルトの名無しさん
NGNGだったら、お前が正しいことを書いてくれ。
納得して、眠りたい。
0348デフォルトの名無しさん
NGNGお ど れ お ど れ
0349317
NGNGcharで表せない値を渡した場合はstrchrを呼んだ奴が悪いとして、
charで表せる(CHAR_BIT == 8として)8ビット目が1となる値を渡した時はcharにキャストしないと環境によってはうまく動かないのか。
0350デフォルトの名無しさん
NGNG今夜は眠れない。
いや、
眠 ら せ な い
0351デフォルトの名無しさん
NGNGchar 禁止
0352デフォルトの名無しさん
NGNGまだずれとる。
0353333
NGNG0x111 のような文字とは思えないデータでも文字データとして扱うなら必要
文字とは思えないデータははじいてしまうなら不要
これは漏れの意思とは関わりのない厳然たる事実。
> それ余計にまずくない ?
漏れはマズイと思う。
これは漏れの単なる意見。
あんたはその区別がつかないほどの日本語 DQN なのか?
0355デフォルトの名無しさん
NGNG楽しませてくれ。
0356デフォルトの名無しさん
NGNG試さなくてもstrchr()の仕様が分かれば自明じゃん。
つーか、試して確認するってのはむしろ危険だよ。
0357デフォルトの名無しさん
NGNGそれツライっす・・・
0358デフォルトの名無しさん
NGNGお前の脳内が危険だよ
0359デフォルトの名無しさん
NGNG"The strchr function locates the first occurrence of c (converted to a char)in the
string pointed to by s. The terminating null character is considered to be part of the
string."
わざわざ、括弧で書いてあるね。余計なことを考えさせる隙がない。
ぐぐる:「ISO/IEC 9899:1999(E) pdf」
0360デフォルトの名無しさん
NGNGなんで?
0361デフォルトの名無しさん
NGNG無駄な改行うざい
0362デフォルトの名無しさん
NGNGおお、それで検索するのか。
0363デフォルトの名無しさん
NGNGもう、えっちなんだからぁ。
あと2回はがんばってよ
0364デフォルトの名無しさん
NGNGその理由まで考えさせない。
0365デフォルトの名無しさん
NGNGぐぐる:「ISO/IEC 9899:1999(E) pdf」
と書いてあります。
0366デフォルトの名無しさん
NGNG夜 は ま だ ま だ こ れ か ら み た い で す 。
0367デフォルトの名無しさん
NGNGなんでここで、
日 本 の 教 育 が
出てくるんだ。
0368デフォルトの名無しさん
NGNGとか宣言してても
char ch;
...
hoge( ch );
のとき char -> int 変換される
これ C の仕様......?
0369デフォルトの名無しさん
NGNGいままで、strchr()の挙動(仕様)に関する議論だったんでしょ?
どういう経緯でそういう仕様になったかって話しも興味深いけど、
それは別の話だしね。
0370デフォルトの名無しさん
NGNG仕様です。
0371デフォルトの名無しさん
NGNGし よ う が な い な ぁ
0372デフォルトの名無しさん
NGNG仕様ですが何か。
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG> これ C の仕様......?
違います。
(このスレに約一名そう主張してる方がいますが)
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNG1名ではないようです
0378デフォルトの名無しさん
NGNG主張していないのが約一名です
0380デフォルトの名無しさん
NGNGこいつニセモノ。
0381デフォルトの名無しさん
NGNG夜 だ か ら で す か ?
0382デフォルトの名無しさん
NGNG「仲間ハズレ一人!」
とか言った本人が仲間ハズレだったという罠ですか?
0383デフォルトの名無しさん
NGNG必死だな。
0384デフォルトの名無しさん
NGNGC だ か ら で す
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNG独 り 言 解 禁
0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGう。
もしかして仲間はずれかな?
仲間はずれでもいいけど、>>368が仕様だっていってるなら、
根拠を示して欲しいね。
0389デフォルトの名無しさん
NGNGだからCの仕様だっつってるだろ
0390デフォルトの名無しさん
NGNG「 以 降 」 禁 止
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG何に対する結論?
0393デフォルトの名無しさん
NGNGうちの gcc では起きました
0394デフォルトの名無しさん
NGNGつーかまず仕様書読め
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGやべ・・・接続時間が2時間すぎた。電話代が・・・
0398デフォルトの名無しさん
NGNG変換が起きるといってる人は、winでcharがスタックに積まれるときに
4バイト使われるのを「変換される」「Cの仕様」と言ってました。
アホです。
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGC言語にきまってんだろ
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNGだから Linux 上の gcc でもなったんだってば
0405デフォルトの名無しさん
NGNGつーか「4バイト」なんてキミ以外一言も出てきてませんが。
0406デフォルトの名無しさん
NGNG正しい?
コンパイルエラーになりますが。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGC言語のなんについての話?
0409デフォルトの名無しさん
NGNGやっぱりアホだ。
0410デフォルトの名無しさん
NGNGs t r c h r ( ) は ク ソ
という事でよろしいか?
0411デフォルトの名無しさん
NGNG俺のムスコについて。
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGstrchrの第二引数はcharにキャストする必要があるかないか。
0414デフォルトの名無しさん
NGNG厨 房 が 暴 れ そ う で す
0415デフォルトの名無しさん
NGNGで、引数がintにキャストなんてされません。
0416デフォルトの名無しさん
NGNGアホは
お ま え 一 人
0417デフォルトの名無しさん
NGNGだから、>>359 に従うとすればキャストする必要があるだろう。
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGそれは
415 の 希 望
0420デフォルトの名無しさん
NGNGどう考えても、アホはお前だよ?
0421デフォルトの名無しさん
NGNG話題は何かと聞かれたからそう答えただけだけど・・・
0422デフォルトの名無しさん
NGNGだから実際されたんだってば
0423デフォルトの名無しさん
NGNG>void hoge(char);
型はcharだけど、intの大きさで渡されるよ。
0424デフォルトの名無しさん
NGNGだから根拠しめしてよ。
規格のどこに書いてあるの?
0425デフォルトの名無しさん
NGNG書いていなければしてもしなくてもかまわないと。
0426デフォルトの名無しさん
NGNGどれは規格じゃないよ。
0427デフォルトの名無しさん
NGNG仕様書全部読んでから出直して来い
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNG規格と実装の区別がついてない…
0431デフォルトの名無しさん
NGNGなら型変換してないじゃん。単にsize(int)バイト分スタックを消費するというだけで。
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG関数の中の演算はintだよ
0434デフォルトの名無しさん
NGNGどこにも書いてません。と。
0435デフォルトの名無しさん
NGNGstrchrの第二引数ってintだろ。char渡したらintにキャストされるだろ。それだけの話か?
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG違う違う。
strchrを実装するさいに、intで渡されたものをcharにキャストする必要があるかないか。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNG漏れは寝てたんだが、何かに突き動かされるようにして 2 時頃目を覚まし、
PC の電源を入れて 2 ちゃんを覗いてしまったんだが、思えばこのスレが
呼んでたんだろうな。
・・・オェー
0440デフォルトの名無しさん
NGNGこえーなあ。
0441デフォルトの名無しさん
NGNGだからキャスト必要だってば。
0442デフォルトの名無しさん
NGNG↑で、引数がintにキャストされるなんて言ってるのはアホです。
0443デフォルトの名無しさん
NGNG類は友を呼ぶ、ですね(w
0444デフォルトの名無しさん
NGNG話題について聞かれたからそう答えただけと何回言えば分かるんだよ(;_;)
0445デフォルトの名無しさん
NGNG実際されるんだからしかたないでしょ
0446デフォルトの名無しさん
NGNGあんたは >>359 と >>402 と >>425 を読め。
0447デフォルトの名無しさん
NGNG死ね
0448デフォルトの名無しさん
NGNG多分見解の違い
微妙に話しがズレてる
0449デフォルトの名無しさん
NGNGされてないよ。
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNGそれは「キャスト」とは言わない。
0452デフォルトの名無しさん
NGNGキャストすると決まっていればして
キャストしないと決まっていればしないで
なんも決まってなければてきとーにすればいいだけじゃないのか?
あとは規格を見るだけだろ?
0453デフォルトの名無しさん
NGNG嫌がらせですか?それとも単なる煽り?
0454デフォルトの名無しさん
NGNGスタックに渡されるのはint(レジスタの大きさ)だけど、
値はcharとして扱ってるはず。
アセンブラに直すと、上位ビットを切り捨てる処理がどっかに入ってるよ。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGオマエガナー
0458デフォルトの名無しさん
NGNGキャストとも暗黙の型変換とも言わん
0459デフォルトの名無しさん
NGNGずっとその話をしてるんだけど、なかなか納得してくれない。
0461デフォルトの名無しさん
NGNGint にキャストする時と同じアセンブリコードが生成されるんだけどなぁ......
0462デフォルトの名無しさん
NGNGそれは最適化で省かれたんじゃないの?
どういうコードでテストした?
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGだからキャストは必要だって言ってるだろ
0465デフォルトの名無しさん
NGNGうん。そうそう。話題について聞いた人。
なんの話してんのよーわからんなぁー。
0466デフォルトの名無しさん
NGNGそう。
動く動かないはどうでもよいこと。仕様で決まっているからそうせざるをえない。
なぜと問うてはいけないのだ。
0467デフォルトの名無しさん
NGNGどれの話?
0468デフォルトの名無しさん
NGNGし よ う が な い な ぁ
0469デフォルトの名無しさん
NGNGし よ う が な い な ぁ 禁 止
0470デフォルトの名無しさん
NGNGこういうコードです
char foo(char c) {return c + (char)1;}
int bar(int d) {char c = (char)d; int i; c = foo(c); i = (int)c; return i; }
0471デフォルトの名無しさん
NGNG> 結局動くけど、
45のコードだと、c=(char)c;がないと挙動が変化する。
(仕様どおりに動かない)
0472デフォルトの名無しさん
NGNGそのコードじゃ駄目だ。省かれてそう。
所々の(char)のキャストも無意味。
0473デフォルトの名無しさん
NGNG仕様は動きについてはどう定義しているの?
0474デフォルトの名無しさん
NGNGば か ば っ か b y ル リ
0475デフォルトの名無しさん
NGNGでも、fooの戻値の処理で、切り捨てはされてると思う。
0476デフォルトの名無しさん
NGNGルリって誰だ?
ル リ っ て 誰 だ !
お前か?
0477デフォルトの名無しさん
NGNG>>359に出てるよ。
0478デフォルトの名無しさん
NGNG463は>>45のcharキャストの話
0479デフォルトの名無しさん
NGNGア ニ オ タ ウ ザ イ
0480デフォルトの名無しさん
NGNG番号! 1
0481デフォルトの名無しさん
NGNG変数名も同じにしないと仕様書違反と。
0482デフォルトの名無しさん
NGNGもう朝ですが......
0483デフォルトの名無しさん
NGNGP.J.プラウガーの本でも読め
0484デフォルトの名無しさん
NGNG8ビットコードは-128〜127なんですか?
0485デフォルトの名無しさん
NGNGプ
なんだそのだせー名前は。
0486デフォルトの名無しさん
NGNGいったいなんの話をしてるんだ?
0487デフォルトの名無しさん
NGNGintじゃなくてchar型の文字列。
0488デフォルトの名無しさん
NGNG文字コードはマイナスにならないよ。
0489デフォルトの名無しさん
NGNG処理系依存
0490487
NGNG0492487
NGNG文字列リテラルと読み間違えた。スマソ
0493デフォルトの名無しさん
NGNGア ニ オ タ ッ テ オ レ ダ !
0494デフォルトの名無しさん
NGNGどっちでしょう?ってか489なのかな。
0495デフォルトの名無しさん
NGNGprintf("%d\n", 'ア'); を実行してから言え。
0496デフォルトの名無しさん
NGNGそう、それでやったらマイナスだった
0497デフォルトの名無しさん
NGNGV B 厨 が い る の か ?
0498デフォルトの名無しさん
NGNGpushl %ebp
movl %esp,%ebp
subl $8,%esp
addl $-12,%esp
movsbl 8(%ebp),%eax
pushl %eax
call foo
movsbl %al,%eax
leave
ret
ここの movsbl ってのか char -> int 変換だと思うんですが、違います?
0499デフォルトの名無しさん
NGNGそれはprintf内でsigned intとして扱っているだけ。%uにすればマイナスにはならないし。
0500デフォルトの名無しさん
NGNG文字リテラルの範囲は0〜UCHAR_MAX
0501デフォルトの名無しさん
NGNGcharの大きさは8bit以上としか規定されていないので、
処理系に依存する。
さらに、charがsignedかどうかも規定されていないし、
したがって1の補数か2の補数表現をとるかも規定されていない。
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGだから、それをキャストとは言わない。
0504デフォルトの名無しさん
NGNGなんでよ〜。ぷぅ〜。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGボケ。
それは 8bit → 32bit 変換であって、C の char → int 変換ではない。
第一、C の仕様の話をしているのに何でアセンブリコードが出てくるんだ?
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGcharはunsigned charとは限らないだろ
0509デフォルトの名無しさん
NGNGなんで?
char c; int i;
で
i = (int) c;
するときと同じコードが引数渡す前にも出てるじゃん
0510デフォルトの名無しさん
NGNGprintf("%d",c);
ってやったらマイナスですた
0511デフォルトの名無しさん
NGNGそれは何の確認にもならないってば(^^;;
0512デフォルトの名無しさん
NGNGたまたま君が調べた処理系がそうなってたってだけで、
Cの仕様とは関係ない。
0513デフォルトの名無しさん
NGNGじゃあ printf("%08X\n", 'ア'); にしとけ。
あんたの言う事が正しければ 000000B1 になるはずだ。
0514デフォルトの名無しさん
NGNG2chで見るとなんかむかつく!
0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNG文字リテラルが0〜UCHAR_MAXというのはANSIで決まってるんで。
0517デフォルトの名無しさん
NGNGゴメソ(^^;;
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNGキャストとはどうゆうことか口に出していってみろ
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNGうるせーバカ。
0522デフォルトの名無しさん
NGNGだから、何で実際に吐き出されるコードの話をするんだ?
0523デフォルトの名無しさん
NGNG口に出していってみますた
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGうるせーバカ。
0526デフォルトの名無しさん
NGNGいや......変換されるなんて言ってるやつはアホとか言ってた人がいたから実例を出したまでなんですが......
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNG(^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;;
(^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;;
(^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;;
(^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;; (^^;;
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGその比較は処理系依存(リテラルcharの符号依存)
0532デフォルトの名無しさん
NGNG甘い。
puts('ア'<0?"minus":"0 or plus");
0533デフォルトの名無しさん
NGNG七行スレにカエレ
0534530
NGNG0536デフォルトの名無しさん
NGNGminusでした、always trueだそうです。
書いてなかったけど、環境はbcc32.exeです。
0537デフォルトの名無しさん
NGNG違う?
0538デフォルトの名無しさん
NGNGうちでも minus (gcc on Linux) でした。
0539デフォルトの名無しさん
NGNG文字コードの解釈次第。
0540デフォルトの名無しさん
NGNGデフォルトの char が unsigned char か singed char か、
っつー話じゃなくて?
0541デフォルトの名無しさん
NGNGそれは処理系依存でしょ?
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNG犯人は
0547デフォルトの名無しさん
NGNG0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG私がチャーと読んでいた犯人です。
おさわがせしてしまって申し訳ありませんでした。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG文字リテラルはint型。
sizeof('ア')ってやってみればわかる。
0553デフォルトの名無しさん
NGNGキャー:叫び声
シャー:char
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNGその場合はwchar_tだな
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNG0559http:// ppp0329.va-tyo.hdd.co.jp.2ch.net/
NGNG0560デフォルトの名無しさん
NGNG甘い
puts(&"0 or plus\0minus" [('ア'< 0)*10]);
でも長くなった・・・
0561デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGで char -> int 変換されるってのは仕様ではないんですか?
0566デフォルトの名無しさん
NGNGputs("0 or plus\0minus"+('ア'< 0)*10);
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNGお(^о^〃)や(^О^〃)しゅ(^。^〃)みぃ(^-^〃)♪
0569デフォルトの名無しさん
NGNGカワイイ!
0570デフォルトの名無しさん
NGNG仕様です。
0571デフォルトの名無しさん
NGNGラナイバ
0572デフォルトの名無しさん
NGNGもうそんなことはどうでもいいんだよ!!
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG仕様なのか。じゃあ仕様じゃないって言ってた人はみんなアホだったのね。分かった。寝る
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNGいまから仕事かよ!
つーか、
今 日 は 休 日 じ ゃ な い の か ?
0580デフォルトの名無しさん
NGNGおいっちょっと待て逃げるきか。
0581デフォルトの名無しさん
NGNG???
0582デフォルトの名無しさん
NGNGそのメモリから関数側はcharで受けるだけでしょ。
0583デフォルトの名無しさん
NGNGヒッキーが働いているふりをするとそうなります。
0584デフォルトの名無しさん
NGNG国王に休日はありません
0585デフォルトの名無しさん
NGNG大 仕 事 が 控 え て ま す
が何か。
0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNG(゚Д゚)ハァ?ネロ!
0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG仕様です。
0590デフォルトの名無しさん
NGNGgcc だと
#include <stdio.h>
int main( int argc, char** argv ){
printf( "%d\n", sizeof( 'a' ) );
printf( "%d\n", sizeof( int ) );
}
で出力は
1
4
だったわけですが… これは?
0591デフォルトの名無しさん
NGNGそれは C++ だゴルァ
0592デフォルトの名無しさん
NGNGこちらでは
4
4
でしたか何か?
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNGちょっと待て。mainの型省略してコンパイル通るか?
#include <stdio.h>
main(){
printf( "%d\n", sizeof( 'a' ) );
printf( "%d\n", sizeof( int ) );
}
0596デフォルトの名無しさん
NGNG通る場合もある。
その場合は void とみなされ、ANSI 非準拠。
0597デフォルトの名無しさん
NGNG全角スペースのせいでコンパイルが通らない罠
0599デフォルトの名無しさん
NGNGあ、つい… cppでやっちった。
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNGCならint、C++ならvoidだ
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGC++ならなくてもええからなぁ。
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGint main( int argc, char** argv ){
printf( "%d\n", (unsigned char)( 'a' ) );
printf( "%d\n", (signed char)( 'a' ) );
return 0;
}
97
97
お前等一晩でいくつレス作ってるんだ!
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG寝てる間にこんな祭りがあったとは。
しかし確かに話の質がやけに低いな、最近。
しかもなぜかC99の規格まで持ち出してるわ。
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNGint main( int argc, char** argv ){
printf( "%d\n", (unsigned char)( 'ア' ) );
printf( "%d\n", (signed char)( 'ア' ) );
return 0;
}
117
-79
605 も何かとぼけてるな。
0614デフォルトの名無しさん
NGNG日本の将来が危ぶまれ
0615デフォルトの名無しさん
NGNGおいおい、少数派の正論者が初心者共に厨呼ばわり
されるような場所で、レベルの高い話とやらをしても
馬の耳に念仏だろが。
つーか、煽る暇があるだったら、誰も指摘しない>>180の
間違いでも教えてやれ。
0616デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNG漏れは 612 じゃないが・・・。
・・・。
まさか変数名が間違ってるって事じゃないよな?
そんなコンパイルすれば誰もが気付くような間違いを指摘するような
重箱の隅つつきをしてる訳じゃないよな?
そんな情けない事しないよな?
ついでに訊くと、615 は 609 じゃないよな?
煽られたりしてないよな?
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG> 暇があるだったら
プ
0620デフォルトの名無しさん
NGNG煽り返す暇があるだったら、誰も指摘しない>>180の
間違いでも教えてやれ。
0621デフォルトの名無しさん
NGNG> みんな大好きなんです。このシリーズの速さがそれを物語っています。
ワラタ
おう大好きだよ
0622620
NGNG0623615=609
NGNGん?それだけ?
それよりコードの肝心な誤りの方を指摘してやればいいのに。
>>617
スペルミスならアホでも気付くというか、
いちいち指摘するようなことじゃないわな。
それとも、ここには入力ミスを指摘して喜ぶ
ようなカスでもいるんかいな?
> ついでに訊くと、615 は 609 じゃないよな?
> 煽られたりしてないよな?
よくわからんが、レスを付ける=煽られる
というのなら、煽られてるわけだが。
0624デフォルトの名無しさん
NGNGごちゃごちゃ言わずにコンパイルしてみな。
0625objective_c--
NGNG{
long private_state; // 関数のアドレス
char *public;
long other;
}
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG何が言いたい。
0628デフォルトの名無しさん
NGNGはいはい。してみたよ。で、何か?
0629デフォルトの名無しさん
NGNGC最強(...少しデクリメント)
0630デフォルトの名無しさん
NGNG>>628
で、どうだった?
strchr() の機能として問題になる動作は出た?
動作テストは当然したんだよね?
まさかコンパイルだけして後は何もしていないなんて間抜けな事はしてないよね?
もちろん変数名の誤りは直した上でコンパイルしたんだよね?
コンパイル通らなかったなんてケチはつけないよね?
0631デフォルトの名無しさん
NGNGとりあえず、cygwinはインストールしたんですが
コマンドプロンプトみたいなわけわからんものがあるだけで、
コンパイルとか出来ないです
どうしてらいいんですか?
0632デフォルトの名無しさん
NGNG関数ポインタの格納に long って・・・。
型が分からないとしても、せめて void *private_state; だろうに・・・。
0633デフォルトの名無しさん
NGNG「gcc フロントエンド」 でぐぐってくれ。
0634デフォルトの名無しさん
NGNG確かに...
> 関数ポインタの格納に long って・・・。
VB 厨かも知れんな。
0635デフォルトの名無しさん
NGNGウィソ厨はおとなしく bcc でも使ってたらどうかと
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG脳内バグは取れましたか?
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG628 の
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGいや、>>616-617 から 1 時間以上経ってるから、それは無いだろう。
0644デフォルトの名無しさん
NGNG-------------
Segmentation error (core dumped)
-------------
0645デフォルトの名無しさん
NGNG脳内バグか本当にバグがあるかは関係無く、問題があるなら普通それを素直に
指摘するよな。
という事は、つもりがあるかは別として 628 は煽りだったわけだ。
漏れらも煽られたわけだな、くそう。
0646デフォルトの名無しさん
NGNGファイルのサイズや更新日時の情報を得るにはどうすれば良いのでしょう?
すみませんが、教えてもらえないでしょうか?
0647デフォルトの名無しさん
NGNGOSはなんですか?
0648デフォルトの名無しさん
NGNG0649464
NGNGそれができたらwindowsのdosでやってみようかなと。
0650デフォルトの名無しさん
NGNG模範回答は 647 だな。
0651650
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c19.html#12
0653650
NGNG0654623
NGNG>>630
回答はすべてYes。
というか、ソースに間違いがあるんだから当たり前だわな。
んで、そういうあんたも動作テストは当然したんだよね?
で、どうだった?
strchr() の機能として問題になる動作は出なかったの?
というか、暇つぶしのネタに乗ってきてくれたのは
うれしいが、低レベルな問題をこれ以上引っ張るのも
アホらしいので答えを教えてあげましょうか?
>>645
> という事は、つもりがあるかは別として 628 は煽りだったわけだ。
煽ってきた612に対してネタを振ったつもりだったんだがな。
こういうのを「たくさん釣れた」っていうのかな?
0655デフォルトの名無しさん
NGNGint fibonacci(int n)
{
if(n==1||n==2)
return(1);
else
return(fibonacci(n-1)+fibonacci(n-2));
}
これを再帰を使わずに書くとどうなる?
0656デフォルトの名無しさん
NGNGなんか、さんざん出た気がするなぁ
int fibonacci( int n ) {
int a = 1, b = 0;
while ( n-- > 0 ) {
int t = a;
a += b;
b = t;
}
return b;
}
0657デフォルトの名無しさん
NGNGn=3からループさせる。
0658デフォルトの名無しさん
NGNG0659656
NGNGint fibonacci( int n ) {
switch ( n ) {
case 1: return 1;
case 2: return 1;
case 3: return 2;
case 4: return 3;
case 5: return 5;
.....
}
return 0
}
0660デフォルトの名無しさん
NGNGぜひ答えを教えてくれ。
正直、漏れはあんたが何をいけないと思っているかさっぱりわからん。
お手上げだ。
0661デフォルトの名無しさん
NGNGてか、同一人物?
0662デフォルトの名無しさん
NGNGお帰り。ぜひ回答おねがいします。
0663デフォルトの名無しさん
NGNG>>660 >>662などを馬鹿にします。もちろん答えは書きません。
0664デフォルトの名無しさん
NGNGそんな言い方ではダメだ!
「おながいします」 と言え!!
0665デフォルトの名無しさん
NGNG0666660
NGNG0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNGただいま再起動中です......しばらくお待ち下さい
0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG0674623
NGNG俺は昨日の祭りの時はいなかったんだよね。
んで、正解は...
180のコードでは第2引数に '\0' が渡された時に
NULLを返してしまう。
strchrでは '\0' も文字列の一部として
その文字位置(ポインタ)を返しましょう。
>>663
お前の予想は外れちゃったね。この馬鹿。
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNGああなるほど、そういう事か。
ありがとう、全然気付かなかった。
・・・とは素直に言えないな。
気付いたなら 615 の時点でも言えたはずだ。
なぜ煽るような事をした?
0679デフォルトの名無しさん
NGNGやっとわかた。ありがとう。
>>678
その可能性もあるね。
0680デフォルトの名無しさん
NGNG性格ワル。キモ
0681デフォルトの名無しさん
NGNG俺は今来たから素直にありがとう
0682デフォルトの名無しさん
NGNG構造体と対応関数を書けばいくらでもできるだろう。
0683623
NGNG上で書いたように、元々は煽ってきた>>612に対する
ネタ振りのつもりだったんだが、それが
なぜか>>617の書き込みを筆頭に煽られまくっちゃったんだわ。
本当に気分を害した人がいれば謝るよ。ごめんね。
>>663
ワロタ。実はそうだったりしてな。
0684677
NGNGそうだな、確かに 612 は煽りだ。
だが、客観的に見返してみろ、>>615 も立派な煽りだぞ。
それに、煽るつもりが全く無かったのなら >>645 の時点で反省があったはずだが
「こういうのを「たくさん釣れた」っていうのかな?」 ってちょっと調子に乗ってたな。
そこは気に食わなかった。
でも、ちゃんと詫びも入ったし、ケンカ両成敗と言う事で。
・・・C では負けたがナー。
そう、負け惜しみだが、普通 '\0' を探す場合は strlen() を使うから、
全然気がつかなかった。
0685684
NGNG無いから、sprintf(strchr(str, '\0'), "%d", hoge); とかできるわけだ。
今までずっと sprintf(&str[strlen(str)], "%d", hoge); ってやってたよ。
0686デフォルトの名無しさん
NGNGまだバグがあるかもしれんな。
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG↑
コレの戻り値って何ですか?
0691デフォルトの名無しさん
NGNGリファレンスやヘルプや参考書が手元に無いの?
さらに、Web で検索はできない?
戻り値は現在の日時で、万国標準時 (UCT) の 1970 年 1 月 1 日の 00:00:00
からの経過時間を秒単位で表した数値。
型は time_t で、実装は処理系依存。
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG>>359
0694デフォルトの名無しさん
NGNGわけわからん。
書いていないから\0も含むってのか?
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGヌル文字を含めた長さであって
ヌル文字を含まない長さである。
って話をどっかで読んだ覚えがある。詳しくは規格書読め下さい。
0698デフォルトの名無しさん
NGNG持ってないから引用してくれると嬉しいです。
お願いします。
0699デフォルトの名無しさん
NGNG英語が読めないのか ?
"The terminating null character is considered to be part of the string."
ぐらい訳せよ。
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG読めますけど。
0702デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGじゃあMAX_PATH+1としておけば間違いないということ?
0705デフォルトの名無しさん
NGNGそこらへんは環境依存
0706デフォルトの名無しさん
NGNGC99の仕様書の原文なんて持ってこられても困るんですが。
1989年のANSIの企画書の原文を引用してください。
0707デフォルトの名無しさん
NGNGじぁあ、その訳書いてみ。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG基本的に他人に意見を聞いてからだもん。
0710デフォルトの名無しさん
NGNG何を今さらって感じだけど、人にものを頼むのにずいぶん偉そうな態度の奴だな。
お前が金出して買えよと言いたくなる。
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNGで、理解できた ? > >>692
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNGこのスレは 24 時間フル稼動か・・・。
ところで、C99 は C じゃないってつっぱねるのはどうよ?
0716デフォルトの名無しさん
NGNGものなんでしょうか?
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNGああ、普通そんな事する必要無いからな。
時々、デスクトップアクセサリを作ってる人がやるくらいだ。
ところでスレ違いだが大丈夫か?
0719デフォルトの名無しさん
NGNG>strchr()の中身みたいんですけど、どこに書いてありますか?なんでもおk
すべてはここから始まった・・・
40居るか?でてこーい!
0720デフォルトの名無しさん
NGNGなんだかんだ言ってCはデファクトスタンダードだね
0721デフォルトの名無しさん
NGNGstrchrについて、不毛な議論をしてたですか。
0722デフォルトの名無しさん
NGNGちゃんと改行されてしまいます
どこがおかしいのでしょうか
#include<stdio.h>
int main(int argc,char **argv)
{
char line[BUFSIZ];
FILE* fp;
if((fp=fopen(argv[1],"r"))!=NULL){
while(fgets(line,BUFSIZ,fp)!=NULL){
if(line[0]=='\n')
continue;
printf("%s",line);
}
}else exit(1);
return 0;
}
0723デフォルトの名無しさん
NGNGとりあえず '\r' もとってみたら
0724デフォルトの名無しさん
NGNGん?動かしてみたけどちゃんと動いたぞ?
0725デフォルトの名無しさん
NGNG改行コードで始まると思ってる行が、'\t\n' とか ' \n' とかなってないか ?
0726デフォルトの名無しさん
NGNG別に頼んでいるわけじゃないんだが・・・
C99を標準だなんて言わないでほしいってこと。
0727デフォルトの名無しさん
NGNGきっと改行だけしたつもりが、スペースやタブがはいってしまったんでしょ。
0728デフォルトの名無しさん
NGNG漏れのところも動いた。
テストデータのテキストの方に問題ありそう。
>>726
何を言っているんだ?
C99 も 1 つの標準だろう?
0729デフォルトの名無しさん
NGNG文書のうえだけでの標準・・・
0730デフォルトの名無しさん
NGNGスペースやタブが入っていても大丈夫にしてみたぞ。
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
char line[BUFSIZ];
FILE* fp;
if ((fp = fopen(argv[1],"r")) != NULL) {
while (fgets(line, BUFSIZ, fp) != NULL) {
int i = 0;
while (line[i] == ' ' || line[i] == '\t') i++;
if(line[i] == '\n')
continue;
printf("%s", line);
}
} else exit(1);
return 0;
}
0731デフォルトの名無しさん
NGNGisspaceじゃだめ?
0732デフォルトの名無しさん
NGNGisspace()では、'\r'や'\n'も飛ばしてしまうよ。
0733デフォルトの名無しさん
NGNGwindowsでデフォルトがバイナリモードにになってるとか
0734デフォルトの名無しさん
NGNGそれで問題ないでしょ?
・・・・あれ?なんか勘違いしているかも、、
0735デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(int argc, char **argv)
{
char line[BUFSIZ];
FILE *fp;
if ((fp = fopen(argv[1],"r")) != NULL) {
while (fgets(line, BUFSIZ, fp) != NULL) {
int i = 0;
while (isspace(line[i])) i++;
if (line[i] == '\0')
continue;
printf("%s", line);
}
} else exit(1);
return 0;
}
0736デフォルトの名無しさん
NGNGprintf("%s", line);
ってヤメてくんねぇかな
0737デフォルトの名無しさん
NGNGfputsをstdoutに使うよりも素直じゃない。
俺ならそうするね。
0738デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
char line[BUFSIZ];
FILE* fp;
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
char line[BUFSIZ];
FILE* fp;
っていうふうになります?
なりません
なんでかな
ちなみにcygwin上です
関係ないか
0740デフォルトの名無しさん
NGNGisspace()を使う場合は、最後に'\n'でなく'\0'と比較するように書き換える
必要がある。
0741デフォルトの名無しさん
NGNGprintf(line);
でいいだろーが
0742デフォルトの名無しさん
NGNGたとえばどんな風に書いたほうがすきですか?
参考のために教えてください
0744デフォルトの名無しさん
NGNGlineに%が含まれていたらどうするんだよ・・・・
フォーマット文字列には定数を与えるのが鉄則。
0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNGヴォケ。
テキストデータに % が入ってたらどーするんだ。
0748デフォルトの名無しさん
NGNG>ここはバカばっかですか?
> printf(line);
> でいいだろーが
当然ネタだろうが、つられておこう。
line[]に"%s%d"とか入ってたらどうする。
0749デフォルトの名無しさん
NGNG既にgccもDigital MarsもComeauもSGIのもSunのもhpのも、
全部とは言わないが相当程度サポートしてるけど?>C99
0750デフォルトの名無しさん
NGNG以前、スタックの消費を100KB以下に押さえた軽いprintfをつくろうというスレッドがあったと思うんですが。
0751デフォルトの名無しさん
NGNGprintf()でスタックが100KBも消費するならLSI-Cとかどうするんだ?
0752デフォルトの名無しさん
NGNG規格のすべてをサポートしていないのでは、準拠しているとはいえないのでは?
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNGでもそう書いてあったし・・・
100Bじゃなくて100KBだったはず。
0755754
NGNG0756デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
749 の何をどう解釈したらそんな言葉が出るんだ?
749 は全てのコンパイラがサポートしているわけではないと言っているが、
規格のすべてをサポートしていないとはこれっぽっちも言っとらん。
0757デフォルトの名無しさん
NGNGprintf() のソース見れ。
ソース無くて読めなくても、実際使って問題が出てないなら深く考えるな。
0758デフォルトの名無しさん
NGNGそれならANSIの規格だってすべてのコンパイラがサポートしているとは限らないということになるけど?いい?
0759デフォルトの名無しさん
NGNG>>40はネタ帳を持っている。
0760デフォルトの名無しさん
NGNGじゃあ深く考えないことにします。
(100KBなんて相当再帰処理を繰り返したりしなければ消費しないよな・・・)
0761デフォルトの名無しさん
NGNG100 Bytes だろう。
100 KB もあったら相当なコードとデータを詰めこめる。
0763デフォルトの名無しさん
NGNGどっちの標準にそって動いているの?
0764デフォルトの名無しさん
NGNGだけだから読んでも得るものねーYO・・・
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGさあ、人それぞれだろ。
でも、ANSI と ISO がこのスレでぶつかっているところを見たことが無い。
何が問題?
0768デフォルトの名無しさん
NGNG_output()のソースがどこかにあったと思うよ。
0769デフォルトの名無しさん
NGNGえっ・・・そりゃ一体どういう状況??
0770デフォルトの名無しさん
NGNGコンパイル時に大きさの決まらない配列とか・・・・
0771デフォルトの名無しさん
NGNGハァ?
じゃあoutput.cは何なんだよ?
0772デフォルトの名無しさん
NGNG標準とは何を指すか
を追加
0773デフォルトの名無しさん
NGNGスタック100KByte取るような関数はDOSアプリでは
使えない、というだけの話。
0774デフォルトの名無しさん
NGNGfgets()のバッファのサイズにBUFSIZを使ってるのって変だよな。
0775デフォルトの名無しさん
NGNG>>716
一体どう言うロジックを組めばスタック 100 KB も取ると思うわけ?
それと、実際にDOSアプリで呼べなかった事あるの?
0776デフォルトの名無しさん
NGNGなんで?(^_^;)
0777775
NGNG0778デフォルトの名無しさん
NGNGもしも100KBもとるようならって話でしょ?
でも動くから100KBも消費していないと。
0779デフォルトの名無しさん
NGNGそれほど変でもない。
困る事がありそうで、実際にはなかなか困らないよ。
0780デフォルトの名無しさん
NGNG多分実用的なライブラリは再帰なんか使っていないと思うけど。
0781デフォルトの名無しさん
NGNG前半には同意するが、後半には同意できないぞ。
qsort() は実用的ではないとでも言うのか?
0782781
NGNG逝ってきます・・・
0783デフォルトの名無しさん
NGNG実用的なqsortの実装は再帰を展開してあると思う。
0784デフォルトの名無しさん
NGNGVC++より優れてる点を挙げてくれい、劣ってる点でもよいぞ
0785デフォルトの名無しさん
NGNG違う違う。
勉強のためのqsortのサンプルコードなら再帰を使うだろうけど、glibcだとかVC++だとかの実用的なライブラリのqsortは再帰なんか使わないでかくだろうということ。
0786デフォルトの名無しさん
NGNGたとえばCLOCKS_PER_SECとかCHAR_MAXなんかを、つかってたら変でしょ。
(別に間違いじゃないけどさ)
0787デフォルトの名無しさん
NGNGなんだ・・・マクロの命名の話か・・・
0788デフォルトの名無しさん
NGNG命名の問題じゃないけど…
0789デフォルトの名無しさん
NGNGぼやくだけにしないで、きちんと問題をはっきりとさせること。
0790デフォルトの名無しさん
NGNG0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNG「このくらい自分で分かれよ」と思って教えないのですです。
0793デフォルトの名無しさん
NGNG簡潔に終了したし
0794デフォルトの名無しさん
NGNGBUFSIZはsetvbufで使うための定数だから。
fgets(s,CLOCKS_PER_SEC,fp);
みたいに、標準ヘッダーに定義されてる定数を適当に使うのと同じ。
という話なんでしょ?
0795741
NGNGオレが間違ってた。ゴメソ
0796デフォルトの名無しさん
NGNGそれなら命名の話だから>>787でいいんじゃ?
>>788が違うっていうから何の問題かというのが焦点に。
0797デフォルトの名無しさん
NGNGどあほう。
ぐぐったりリファレンス見たりして分かる情報ならそれでもいいが、
そういう問題じゃないんだろう?
そういうのを指摘してやらないのは嫌がらせか偽善のどちらかだ。
>>793
>>744
0798デフォルトの名無しさん
NGNGそうだったのか。
setvbufもBUFSIZなんてありきたりな名前を使うなよな。。
0799797
NGNG漏れは 792 に言いたかった。
逝ってきます・・・。
0800デフォルトの名無しさん
NGNGそして>>793に>>744を示してる意味もわからん。
>>744のようにすぐ間違いを指摘できたから「簡潔に終了」と言ってるのに。
0801デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNGワラタ
0807デフォルトの名無しさん
NGNG正直に白状すると、俺はまだよくわかりません。
0808デフォルトの名無しさん
NGNG蒸し返すな。
C99の規格がそうなっているからキャストが必要なの。
1989年のANSIはしらん。
0809デフォルトの名無しさん
NGNG結論出てるよ。やらなきゃダメ
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG追いかけるのが大変だから、ゆっくりしゃべれ
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG{
・・・
}
という関数があったとすると、引数aは関数の中でint型になっちゃうんですか?
0816test&rlo;tets
NGNG0817デフォルトの名無しさん
NGNG???
0818デフォルトの名無しさん
NGNGc = (char)c;
みたいなことをすればいいのかがわからない。
0819デフォルトの名無しさん
NGNGならない。
呼び出し元からスタックへ char が渡されると一旦 int に変換される実装もある
ようだが、関数に突入した時に結局 char として扱われる。
char 変数の値はあくまで char 型として扱われる。
文字リテラルが int と評価される事とは全く関係無い。
引数の受け渡しがどうなっているかは普通は気にする必要は無い。
可変個引数を受け付ける場合は気にする必要がある場合もある。
0820デフォルトの名無しさん
NGNGだから、「規格通りの」 strchr()。
蒸し返すなって。
それとも >>810 ?
0821デフォルトの名無しさん
NGNGint に入った文字コードと char を比較するとき
0822デフォルトの名無しさん
NGNG↓ に逝け
http://pc.2ch.net/test/read.cgi/prog/1035390611/l50
0823デフォルトの名無しさん
NGNG1990年のISOの規格の翻訳でもこうだね。ANSIの方は氏蘭が。
http://www.jisc.go.jp/ ( JIS X3010 )
> 形式
> #include <string.h>
> char *strchr(const char *s, int c);
> 機能
> strchr関数は、sで指される文字列の中のc(char型に変換する。)の最後の出現を探す。
> 文字列の終端を示すナル文字は、もじれつの一部とみなす。
0824デフォルトの名無しさん
NGNGてことは規格通りのstrchr以外に書く機会は無いんだ?
ならよかった。
0825デフォルトの名無しさん
NGNG処理系によっては>>818がないとうまく動作しない。
という結論だったよね?
0826デフォルトの名無しさん
NGNGたいていは char 変数に代入する事で済ますな。
0827デフォルトの名無しさん
NGNG文字コードが7bit に収まる文字なら処理系関係無くOKじゃないの?
'ア'とかが処理系によっては問題になる
0828デフォルトの名無しさん
NGNG自分で(strchrとは関係ない)関数を書くときに c = (char)c; みたくキャストする場面が
わからないの。
>>821でいいの?
0829デフォルトの名無しさん
NGNGログはある程度あんたを待っててくれるから、最新レスについて逝けなくても大丈夫だ。
発言したいなら別だがナー。
0830デフォルトの名無しさん
NGNGはい。
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNGじゃあ、strchr は
char *strchr( const char *str, int c ) {
char ch = c;
......
みたいでもいいの?
0833デフォルトの名無しさん
NGNG↓と書いてみたけど、領域が連続していない場合もうまく動作するかわからない。
とりあえずcharにキャストして、第二引数に0を与えても大丈夫。
char *strrchr(const char *s,int c)
{
const char *endp=s;
s=s+strlen(s);
for(;s>=endp;s--)
if(*s==(char)c)
return (char *)s;
return NULL;
}
0834デフォルトの名無しさん
NGNGつーか、最初から char *strchr( const char *str, char c ); でいいと思う
んだよなー。
クソな仕様だ。
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNGstrlen() で余計なコストがかかる罠
0837834
NGNG0838デフォルトの名無しさん
NGNGなんか2度手間じゃない?
char *strchr( const char *str, int c ) {
char *last = NULL;
c = (char)c;
for ( ;*str; str++ ) if ( *str == c ) *last = *str;
if ( *str == c ) *last = *str;
return last;
}
0839デフォルトの名無しさん
NGNGおいおい大丈夫か ?
last 自体の値は、NULL のままだぞ。
0840デフォルトの名無しさん
NGNG後ろから見てゆくのって駄目?
084221世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNG何よりこの速さが世間でのCの需要を物語っている
役に立つとかそんなんより
知らなきゃ話にならんレベルなのか・・・
オレもやろ
0843840
NGNGそれとも関数を呼ばないでwhile(*s++) ;とやれということ?
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG後ろを見つけるのに文字列全体を1回走査しないといけないからちょっと無駄かもしれない。
>>838 がやろうとしているように、走査している間に指定の文字が見つかったらその位置を覚えておくようにすれば、自然と最後の位置が残る。
0846843
NGNG0847デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGstrrchr("aabbccabaaabcbcabbbcca", 'a');
こんな感じだと後ろからやったほうが速い
0851デフォルトの名無しさん
NGNGハァ?
0852デフォルトの名無しさん
NGNG>>849 は自分のことを言ってるんだよ
0853C厨房
NGNG0854デフォルトの名無しさん
NGNGここは本来そのためのスレだ (笑)
ただし、内容による。
0855マチャアキ
NGNG0856デフォルトの名無しさん
NGNG重箱の隅だけど。
0857デフォルトの名無しさん
NGNG>重箱の隅だけど。
これ付け足せば許されると思ってんのかゴルァ
0858デフォルトの名無しさん
NGNGあなたに許してもらおうと思ってないから大丈夫です。
0859C厨房
NGNG0860デフォルトの名無しさん
NGNGもっと詳しく質問しないとわからないよー
何に認識させるの?
0861デフォルトの名無しさん
NGNGウザいから死ね
0862デフォルトの名無しさん
NGNG0863846
NGNGやっぱりstrlenでいいね。
0864デフォルトの名無しさん
NGNGC言語の前に日本語(略
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG月の値を 3 〜 14 で持つ。
4月 5月 6月 7月 8月 9月 10月 11月 12月 1月 2月 3月
3 4 5 6 7 8 9 10 11 12 13 14
実際に月の数字が必要な場合は (m % 12) + 1 を取る。
つーかこれ C の質問じゃないし。
0867866
NGNG0868デフォルトの名無しさん
NGNGスゲー。あの質問でこの答えが出るか?フツー
0870866
NGNG月の値は普通に 1 〜 12 で持つ。
月の比較の時に (m <= 3? m + 12; m) を取る。
0872デフォルトの名無しさん
NGNG最初に厨解を出しておいて、質問者が去ったら正解を出す、と。
0873デフォルトの名無しさん
NGNG俺いまだにわからんよ。
0875デフォルトの名無しさん
NGNG一番大きくって配列に入れたときの添え字が一番大きいという意味か!!
0876デフォルトの名無しさん
NGNGすいません。英語で月を書く自信がありませんですた。
0877870
NGNG(m <= 3? m + 12: m)
0878C厨房
NGNG0879デフォルトの名無しさん
NGNGマスターしていないんで未定です。
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGお腹の中にいるとき。ママから教えてもらってたからさ。
0882デフォルトの名無しさん
NGNG995 から連続だけどナー
0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNGお前、あのスレは良いとこだったのに何しやがんだ
088621世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNG一ヶ月でかなり調子にのれるYO!
実際どうかはわからんけど。
あとCと平行してアルゴリズムの勉強したほうが(・∀・)イイ!
0887870
NGNGガッコも会社も教えてくれなかったし。
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNGあんた何歳?
089021世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNG寿命約30時間か・・・
日曜だからかな
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG漏れはC歴2年ちょいだ
0893C厨房
NGNG>>887
僕も今1ヶ月目の独学です。でも詰まった時に聞ける人がいないので皆様のお力を
お借りしました。友達がいないわけじゃないですよ
0894デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNGガンガレ
0897870
NGNG詰まったときは放置。
でもある日突然ひらめいて続行。
そんな感じ。
089821世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNGAとBはしたんでつか?
Bで終わったんでつか?
0899デフォルトの名無しさん
NGNGクソムシ
0900デフォルトの名無しさん
NGNG彼女ができたことない=全部未経験です
0901デフォルトの名無しさん
NGNG雑談は他所でおながいします
0902デフォルトの名無しさん
NGNG新手の荒らしか?
090321世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNGでもその方がいいかもね。
困ったら聞くのも手だけど、
頼りすぎたら自分のものにならんし。
聞いた後に「はいそうですか」じゃなくて
なんでそうなるか死ぬほど考えなきゃ
と、もう既に去った895に語るテスト
0904デフォルトの名無しさん
NGNG馴れ合ってんじゃないわよ
090521世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNGそんな事より、だれかオレの問題とけねーがーー
http://pc3.2ch.net/tech/index.html#10
0906デフォルトの名無しさん
NGNGあの・・・そのリンクは・・・・
090721世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNGこの微妙な付き合いが2Chっぽくない?
みんな無言で文字打ち合ってる姿がうける
0908デフォルトの名無しさん
NGNGYes.
0909デフォルトの名無しさん
NGNGクソムシは(・∀・)キエロ!!
0910デフォルトの名無しさん
NGNG900ゲトとか言ってくれよ!欲しかったのに!
0911デフォルトの名無しさん
NGNG新スレへ体力を温存だな?
軟弱者!
0912デフォルトの名無しさん
NGNG雑談掲示板から最近2chに着たばかりだと思うに20M$。
0913デフォルトの名無しさん
NGNGエスパーハケーン
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGところで、クリムシってなんですか?
0917デフォルトの名無しさん
NGNG最初、WSAStartup 関数やって、socket 関数でソケットを取得すると思いますが、
既存のソケット(他のプログラムが作ったソケット)を取得したいんですがやりかたがよくわかりません。
開発環境は WinXP Prp. VC++6.0 です。よろしくお願いします。
API でそういうようのがあればいうことないです。(API なら VB で使える)
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGおい・・・
0920デフォルトの名無しさん
NGNGSoket スレ逝ってくれ。
http://pc3.2ch.net/test/read.cgi/tech/1034236536/l50
0921デフォルトの名無しさん
NGNG俺と同じ開発環境だな
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNG昆虫類栗蟲科栗蟲目
主に栗を主食とする昆虫。害虫。
0924デフォルトの名無しさん
NGNGこの糞バカ野郎!いくら900越えでやる気を失った俺らだからと言って
Cスレのプライドまで捨てたわけじゃねぇぞ!
VCスレもWin32APIスレもネットワークプログラミングスレもあるだろうが!
0925デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNG何の less() で何の exch() だよ・・・
0928隊員NO. ◆rhAfp.iLoU
NGNGみんな元気かい?
0929隊員NO.1919072 ◆rhAfp.iLoU
NGNG0930デフォルトの名無しさん
NGNGキエロ
0931デフォルトの名無しさん
NGNG>>909
0932デフォルトの名無しさん
NGNGちょっとよくわからないんで、すみません。
0933隊員NO.1919072 ◆rhAfp.iLoU
NGNG隊長!
コマンドライン引数でどんな時使うんでつか?
0934隊員NO.1919072 ◆rhAfp.iLoU
NGNG何!?
0935デフォルトの名無しさん
NGNG>>864
0936デフォルトの名無しさん
NGNG>21世紀のあいんしゅたいん ◆rGsyzf.Kp2
に答えてもらうといいですよ。彼は神だ。
0937隊員NO.1919072 ◆rhAfp.iLoU
NGNGだれ?
なんで神なの??
0938デフォルトの名無しさん
NGNG「C」 にそんな関数は定義されてないです。
普通に 2 値を交換するステートメントを書いてください。
tmp = a; a = b; b = tmp;
a ^= b ^= a ^= b; は例の如く・・・
0939デフォルトの名無しさん
NGNG本人に聞くヨロシ
0940デフォルトの名無しさん
NGNG返信、ありがとうございます。
自分で作ってみます。
0941隊員NO.1919072 ◆rhAfp.iLoU
NGNG21世紀のアインシュタイン!!!!
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNGそういわれるとそんな気もしてくるから不思議だ。
まあ、あいんと隊員が何か会話すれば疑惑とかは問題ないでしょ。
さあ!お二方!!
コマンドライン引数(>>933参照)について存分に語りたまへ。
0946デフォルトの名無しさん
NGNG0947隊員NO.1919072 ◆rhAfp.iLoU
NGNGていうか誰か教えてクレーーーー
眠れないーーーーー
があああああ
0948デフォルトの名無しさん
NGNG誰も指摘しないようだが、そのstrrchrの動作は禿しく未定義だぞ。
頑張れ。
0949デフォルトの名無しさん
NGNGプログラムの起動時にパラメータを与えてやる事によって、再コーディング/再コンパイル
無しに挙動を変えたい時に実装しる。
0950デフォルトの名無しさん
NGNGホントだ。未定義キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0951948
NGNGじゃあ寝る。おやすみ。
095221世紀のあいんしゅたいん ◆rGsyzf.Kp2
NGNG0953デフォルトの名無しさん
NGNG意味わかんない。
とりあえず、>>933にこたえてあげなよ。
0954デフォルトの名無しさん
NGNG9 5 0 は 次 ス レ よ ろ し く
ネ
0955隊員NO.1919072 ◆rhAfp.iLoU
NGNGねね、神なんでつか?
0957隊員NO.1919072 ◆rhAfp.iLoU
NGNG0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961隊員NO.1919072 ◆rhAfp.iLoU
NGNGNEWすれ立てますた
ただしまちがえますたが何か?
ごめんね、ごめんね・・・
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG強い政治的意図を感じざるを得ない
0964デフォルトの名無しさん
NGNGふんじゃ、削除依頼だしとけよ。
0965デフォルトの名無しさん
NGNGなかなか鋭いところに目をつけるな・・・
0966デフォルトの名無しさん
NGNGそういわれるとそんな気もしてくるから不思議だ。
まあ、あいんと隊員が何か会話すれば疑惑とかは問題ないでしょ。
さあ!お二方!!
コマンドライン引数(>>933参照)について存分に語りたまへ。
0967隊員NO.1919072 ◆rhAfp.iLoU
NGNGせっかくオレがスレたてたのに!!
あいんしゅたいん全然答えてくれないし
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG{
int i,p;
for( i=-130; i<130; i++ ){
p = (char)i;
if( i != p )
printf("%d %d\n", i, p);
}
}
----
-130 126
-129 127
128 -128
129 -127
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGスゲ━━━━(゚∀゚)━━━━!!
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNGx+(-1/2)x^2+1/3x^3+・・・+(-1/n)(-x)^n
となるのですが、これをホーナー法をつかって計算回数をへらして
プログラムしたいのですがどのようにプログラムをかけばいいのか
全然わかりません。どなたか教えていただけませんか。?
0978デフォルトの名無しさん
NGNG高水準出力関数は、OSとの間にバッファを持ち、プログラムではこのバッファとの間で
データの入出力を行うイメージになります。このバッファはOSが管理し、自動的に
“ディスクファイル”とデータの入出力を行います。
という使われ方してんねんけど、ディスクファイルだけ意味わからん。
0979デフォルトの名無しさん
NGNGそれなんかの本で見たことあるぞ。自分で調べれば
0980デフォルトの名無しさん
NGNG1000Get!
0981デフォルトの名無しさん
NGNGしかも age るな。
0982デフォルトの名無しさん
NGNGx+(-1/2)x^2+1/3x^3+・・・+(-1/n)(-x)^n
↓
x(1+x(-1/2+x(1/3+x(.....))))
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNGプログラム的には次のものでOKだと思うが。テイラー展開間違って
ないか?値がおかしいぞ。
#include <stdio.h>
#include <math.h>
int main()
{
double x, y = 0.;
int i, n = 20;
printf("x = ");
scanf("%lf", &x);
for (i = n; i > 0; i--)
y = y * x + x / i * ((i % 2) ? 1 : -1);
printf("log(x) = %f, mylog(x) = %f\n", log(x), y);
return 0;
}
0985デフォルトの名無しさん
NGNGx - 1/2!x + 1/3!x ..... + (-1/n!)(-x)^nにならないか?
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNGx>>1だと精度が悪くて使い物にならないけど。
#include <stdio.h>
#include <math.h>
int main()
{
double x, y = 0.;
int i, n = 10;
printf("x = ");
scanf("%lf", &x);
for (i = n; i > 0; i--) {
y = y * x + x / i * ((i % 2) ? 1 : -1);
}
printf("log(1+x) = %f, mylog(x) = %f\n", log(1+x), y);
return 0;
}
0988デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1029422194/l50
で漏れがレスしたのは無視か?
こんな展開式がlogなわけないだろ。氏ね。
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNGここは本当にム板か?
0991977
NGNGlog(X)の近似値をもとめるためにlog(x+1)マクローリン展開したとき
x+(-1/2)x^2+1/3x^3+・・・+(-1/n)(-x)^n
となるので
log(x)=log{(x-1)+1} より (x-1)+(-1/2)(x-1)^2+1/3(x-1)^3+・・・+(-1/n){-(x-1)}^n
これをホーナー法をつかって計算回数をへらして
プログラムしたいのですがどのようにプログラムをかけばいいのか
全然わかりません。どなたか教えていただけませんか。?
0992977
NGNG0993977
NGNGつまり
for (i = n; i > 0; i--) {
y = y * x + x / i * ((i % 2) ? 1 : -1);
}
この部分がホーナー法で計算回数を減らして計算しているプログラムということで
いいんですか?
0994977
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。