- 1 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 09:02:39 ]
- 7行×79文字なら言語は問いません。
過去作品は、もしかしたら>>2-20あたりに。 前スレ pc8.2ch.net/test/read.cgi/tech/1051703369/ part 3 pc2.2ch.net/tech/kako/1033/10331/1033143528.html part 2 pc3.2ch.net/tech/kako/1018/10188/1018840143.html part 1 pc.2ch.net/tech/kako/984/984182993.html
- 348 名前:デフォルトの名無しさん [2007/01/30(火) 11:13:16 ]
- キー押して音鳴らすようなの作れそうじゃね?
- 349 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 22:38:47 ]
- 今更ながら>>305に感動
- 350 名前:305 mailto:sage [2007/02/01(木) 01:13:43 ]
- 本体部分を50バイト削減ー。
でもデータ作成に挫折った。キリのいいところまで入らない。 #include <windows.h> char a[]=" 747:7:@:@C@AC@ACCCCCC<7<7HFHLOMLJLMLHJCJCJLMOQOMLMOTOMHHLMOOHJLMOQ" "QTSQOOOOONMMMLLLJHGEGEC",b[]=" 747747:7:@:>@:>@>7542<7<7<<77<77>>>77>7>>77>>" ">77<<<777<7<<7:77755<<<55789:;<=>?@ABCCC>>>7",c[]="1822822822222222<<6666666" "62442642222426624422224222222266426622242642422222222222222222228";float f(i) {return i?f(i-1)*1.0595:55;}main(i,t){for(i=t=0;c[i]&&(t--||(t=c[++i]-*c));Be\ ep(f(b[i]-*b),40))Beep(f(a[i]-*a),40);}
- 351 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:18:38 ]
- (t--||(t=c[++i]-*c)って鼻から悪魔出ないか?
- 352 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:23:55 ]
- ||は副作用ぶった切るから大丈夫だよ
- 353 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:29:56 ]
- f()を数えてなかった……。訂正、10バイト削減。
- 354 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:30:37 ]
- >>351
--が前置演算子だと動かないね。
- 355 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 01:50:03 ]
- 本当に20年前に戻った気がするな・・・
- 356 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 03:11:00 ]
- >>351
鼻から悪魔が出る って表現気に入った
- 357 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 10:56:16 ]
- >>356
常套句。鼻から悪魔で検索してみろ
- 358 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 11:48:49 ]
- なるほど。生まれる前から言われてた言葉だったのか。
勉強になるなぁ。
- 359 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 12:03:57 ]
- 351は鼻から悪魔が出るんじゃないかな。
- 360 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:29:14 ]
- 出ないでない
- 361 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:30:34 ]
- 351なら出ても仕様違反ではないけどな
- 362 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:45:17 ]
- どこが悪いの?
- 363 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:52:07 ]
- >>361
> c[i]&&(t--||(t=c[++i]-*c)) ||はsequence pointだからt--とt=c[++i]-*cはこの順に値の変更が行われることが保証されてる
- 364 名前:305 mailto:sage [2007/02/01(木) 23:42:07 ]
- 副作用完了点とか意識してなかったわ('д`)
- 365 名前:デフォルトの名無しさん [2007/03/04(日) 18:06:55 ]
- int puts(const char*);int main(void){return puts("age")<0;}
- 366 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:12:19 ]
- かなりの趣味スレですね
- 367 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:19:55 ]
- ageるからには何かネタないの?
- 368 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:24:12 ]
- >>365
ネタもなしにあげとはずいぶんなおまーんこですね ↑この一文を解釈して動くプログラミング言語を作ってくれ
- 369 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:13:21 ]
- 宣言だけ書いとけば、使ったライブラリを勝手にリンクしてくれる、と解釈。
つまりincludeの省略か。 しかしそんなもん俺に作れるわきゃーない。
- 370 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:16:36 ]
- Cの話なら、#includeしなくても直にプロトタイプ宣言すれば済むじゃん?
- 371 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:44:22 ]
- (・д・)どのCの話だ?
- 372 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:53:15 ]
- #includeディレクティブとリンカがどのライブラリをリンクするかは関係ないでs
- 373 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:58:55 ]
- #DEFINE ネタもなしにあげとはずいぶんなおまーんこですね main(){return(0);}
- 374 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:02:34 ]
- このスレではreturnに括弧つけるのは許されないだろ、常識的に考えて…
- 375 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 04:16:30 ]
- って言うか生きてたんだなおまいら。
- 376 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 07:42:48 ]
- main関数でreturnしなかった場合、
戻り値は0になると決められているから、 return(0);は書く必要すらない。 -10文字
- 377 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:23:37 ]
- どんな処理系だそれは。
% cat test.c #include <stdio.h> main(void){printf("hello, world\n");} % gcc -ansi -pedantic test.c % ./a.exe hello, world % echo $? 13 それとも、言ってるのはこういう意味じゃない?
- 378 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:27:49 ]
- >>377
gcc -std=c99 -pedantic test.c
- 379 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:35:29 ]
- 99じゃしょうがないな
- 380 名前:デフォルトの名無しさん [2007/05/01(火) 07:42:12 ]
- age
- 381 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:53:57 ]
- WinMainって
int WINAPI WinMain(HMODULE,HMODULE,LPSTR,int) これじゃだめなのかな bcc5.5.1とvc8.0では一応通ったんだけど
- 382 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:33:41 ]
- HINSTANCEもHMODULEも意味のない構造体へのポインタだから大丈夫だろ。
- 383 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:55:53 ]
- 全く問題ない
- 384 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:56:16 ]
- 動けばいいってんなら、HWNDでもいいし、void*でもいいだろ。
- 385 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:00:03 ]
- 綺麗に書くなんて下の下だな
短く書け。ただし環境依存するな。
- 386 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:05:28 ]
- >>385
長いし環境依存だし、しかも纏めようとしてる辺りが気に入らない (´・ω・`) で?
- 387 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:08:16 ]
- HWND環境依存じゃないだろ?
今手元にヘッダファイル無いけど…
- 388 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:16:48 ]
- 帰り値も 必要ないんじゃないのか?
- 389 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:19:25 ]
- main型の返り値に関しては微妙だな
- 390 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 14:20:55 ]
- HWNDとかいう時点で十分に環境依存な気がするんだが、これは言ったらダメか。
- 391 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:07:24 ]
- WinMainな時点でWindows前提なんだから議論の余地はないだろうが
- 392 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:14:24 ]
- (´・ω・`) で?
- 393 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:45:18 ]
- このスレでの環境依存というのはそういう意味ではなくて、
開発環境に依存するコードを書くなって事じゃないかな。 #includeなくても動く環境とか、main関数でreturnがいらない環境とか、 そういう環境もあるけど、それに依存するコードは駄目だよって意味じゃない?
- 394 名前:デフォルトの名無しさん [2007/05/02(水) 17:55:57 ]
- (д)゚ ゚
- 395 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 17:57:14 ]
- 結論を出す必要は無いんだよ。 思ったようにコード書けばいいじゃない。
- 396 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 18:16:13 ]
- 今までこのスレ(過去スレ含)に出てきたコードを見てると
修正を加えないとコンパイルさえ通らないのばかり よってセーフ
- 397 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 18:33:02 ]
- 大事なのは面白い事
- 398 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 20:34:19 ]
- アウトセーフ決めるのは自分だし。
その限界の中でどれだけ短く出来るかが面白い。
- 399 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:55:14 ]
- コンパイルが通らないようなのは全然駄目だと思うが、
全然駄目なのを発表するのは自由なんじゃないの? 多くの人に評価されたいなら、コンパイルくらい通して欲しいね
- 400 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:05:35 ]
- まぁ試した、というか動く処理系を明記して欲しいわな。
- 401 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 13:58:47 ]
- コメントも7行に入るんですか?
- 402 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 14:46:07 ]
- すみません
あの #include<stdio.h> #include<windows.h> int a = 1; int main() { while(a) { printf("1〜8どうぞ\n0は終了\n---------"); scanf("%d", &a); switch(a) { case 1: ::Beep(262, 300);break; case 2: ::Beep(294, 300);break; case 3: ::Beep(330, 300);break; case 4: ::Beep(349, 300);break; case 5: ::Beep(392, 300);break; case 6: ::Beep(440, 300);break; case 7: ::Beep(494, 300);break; case 8: ::Beep(523, 300);break; } } return 0; } これ7行にするとコンパイルできないんですよ どうしたらいいですか?
- 403 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 14:58:40 ]
- その7行にしたほうのコードを見せなきゃわからんだろ
- 404 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:12:47 ]
- #include<stdio.h>#include<windows.h>int a = 1; int main(){ while(a){
printf("1〜8どうぞ\n0は終了\n---------");scanf("%d", &a);switch(a){ case 1: ::Beep(262, 300);break;case 2: ::Beep(294, 300);break; case 3: ::Beep(330, 300);break;case 4: ::Beep(349, 300);break; case 5: ::Beep(392, 300);break;case 6: ::Beep(440, 300);break; case 7: ::Beep(494, 300);break;case 8: ::Beep(523, 300);break;}}return 0;} >>402をそのまま短くしたんですけどエラーがたくさんでるんですよ
- 405 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:14:24 ]
- 実になんと言うこともないがプリプロセッサはつなげられない
#include<stdio.h> #include<windows.h> int a=1;int main(){while(a){printf("1〜8どうぞ\n0は終了\n---------" );scanf("%d",&a);switch(a){case 1:Beep(262,300);break;case 2:Beep (294,300);break;case 3:Beep(330,300);break;case 4:Beep(349,300); break;case 5:Beep(392,300);break;case 6:Beep(440,300);break;case 7: Beep(494,300);break;case 8:Beep(523,300);break;}}return 0;}
- 406 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:16:57 ]
- そうだったんですかっ!
ありがとうございます。
- 407 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:14:08 ]
- #pragma warning(push, 0);
#include <ntddk.h> #define F(f) KeServiceDescriptorTable->s[*(PULONG)((PUCHAR)f+1)] typedef struct{PVOID* s;PULONG c;ULONG t;PUCHAR a;}SDT;long (NTAPI *O)(HANDLE, long);extern SDT* KeServiceDescriptorTable;long NTAPI N(HANDLE h,long s){ DbgPrint("Exit%d",s);return O(h,s);}NTSYSAPI long NTAPI ZwTerminateProcess( HANDLE,long);void U(PDRIVER_OBJECT d){InterlockedExchange(&F(ZwTerminateProcess ),O);}long D(PDEVICE_OBJECT d,PIRP i){i->IoStatus.Status=0;IoCompleteRequest(i, 0);return 0;}long DriverEntry(PDRIVER_OBJECT d,PUNICODE_STRING r){int i;for(i=0 ;i<27;++i)d->MajorFunction[i]=D;d->DriverUnload=U;O=InterlockedExchange(&F( ZwTerminateProcess),N);return 0;} // 実行テスト環境 Win2k(build2195)SP4 // ビルド環境 WinXP VC8 + Windows DDK 3790.1830 -> Win2k Checked Build C_ASSERT(sizeof(SDT) == 16); // prgma pack(1)
- 408 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:14:41 ]
- 11行 orz
一応32bit Win2K(とたぶんXP)のNt(Zw)TerminateProcessをフクーするドライバ ビルドしてテストできる環境は少ないと思うから面白くないかもしれない ZwCloseとかのフックならntddk.hで宣言されてるので宣言文いらないし、 さらに環境を絞ったハードコードやら、アンインストール時に修復しない青画面直行OK仕様ならもっと削れる けど、この内容では俺にはもうむりぽ
- 409 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:23:52 ]
- #include<stdio.h>
#define B 102400 typedef unsigned char y;unsigned char b[B];int e(FILE *fp,y *i,int m){int r,c; int x;x=0;while(x<m) {x=g(i,x,m,0xff,&r,&c);fputc(r,fp);fputc(c,fp);}return 0;} int g(y *i,int x,int m,int l,int *r,int *c){int p;p=x;*r=1;*c=i[p];p++; while(p<m && *c==i[p] && *r<l ) {p++;(*r)++;}return p;}int main(char *a[]){ FILE *_i,*_o;int i,c;_i=fopen(a[1],"rb");i=0;while(i<B && (c=fgetc(_i))!=EOF) { b[i]=c;i++;}fclose(_i);_o=fopen(a[2],"wb");e(_o,b,i);fclose(_o);} >>405作った初心者ですが ハフマン法圧縮なんですけど作ってみました どうしてもあと1行減らす方法が思いつかないんですけどどうしたらいいと思いますか? 目が潰れそうです
- 410 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:34:09 ]
- 普通のプログラミングのときの習慣を忘れればいろいろ短くなる気が
- 411 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:40:00 ]
- B を const にすりゃ いけるんじゃないの?
- 412 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:10:04 ]
- #include<stdio.h>
typedef unsigned char y;unsigned char b[102400];int e(FILE *fp,y *i,int m){ int r,c;int x;x=0;while(x<m) {x=g(i,x,m,0xff,&r,&c);fputc(r,fp);fputc(c,fp);} return 0;}int g(y *i,int x,int m,int l,int *r,int *c){int p;p=x;*r=1;*c=i[p]; p++;while(p<m && *c==i[p] && *r<l ) {p++;(*r)++;}return p;}int main(char *a[]) {FILE *x,*z;int i,c;x=fopen(a[1],"rb");i=0;while(i<102400 && (c=fgetc(x))!=EOF) { b[i]=c;i++;}fclose(x);z=fopen(a[2],"wb");e(z,b,i);fclose(z);} ちょっと短くなりました
- 413 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:29:25 ]
- 先ほどの>>409の>>405ではなく>>404でした
- 414 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:42:39 ]
- #include<stdio.h>
int d(FILE *fp){int i;int r,c;while(!feof(fp)) {r=fgetc(fp);c=fgetc(fp); for(i=0;i<r;i++){fputc(c,stdout);}}return 0;}int main(int ac,char *av[]){ FILE *fp;if ((fp = fopen(av[1],"rb"))==NULL)return 6;d(fp);fclose(fp);return 0;} 解凍は4行でできました。
- 415 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:00:21 ]
- #pragma warning(push, 0)
#include <ntddk.h> typedef struct{PVOID*s;}SDT;extern SDT*KeServiceDescriptorTable;ULONG F(void*f) {return(*(ULONG*)((UCHAR*)f+1));}void*I(void*f){return InterlockedExchange( KeServiceDescriptorTable->s+F(ZwClose),f);}long(NTAPI*O)(void*);long NTAPI N( void*h){DbgPrint("0x%08X",h);return O(h);}void U(PDRIVER_OBJECT d){I(O);}long DriverEntry(DRIVER_OBJECT*d,UNICODE_STRING*r){d->DriverUnload=U;O=I(N);return 0;} 機能はそのままでZwCloseにした。意外と削れた。最後の行が82文字orz アタマイタイ
- 416 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:12:22 ]
- というか標準入出力にすればいいんでないかい?
- 417 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:02:19 ]
- >>409
・1度しか呼ばれない関数は定義しない eもgもmainに展開する ・代入で無く初期化を使う int x;x=0;→int x=0; ・なるべくライブラリを使う freadとか ・whileよりforを使う ・繰り返しは1行になるようにする ・不要なスペース、変数、typedefを削る これで随分削れると思う ところでハフマン符号じゃなくてランレングスだよね
- 418 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 00:23:37 ]
- >>417
アドバイスありがとうございます 挑戦してみます
- 419 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 03:33:22 ]
- >>412
mainの仮引数ってそんなんで大丈夫なのか? 更に短くするコツとしては、 * 関数の戻り値の型が int の時は省略する。 * 仮引数に int がある場合は、K&R式の宣言を使うと短くなる場合がある。 例えば2引数のmainなら、main(c,v)char**v{} とするのが一番短い。
- 420 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 03:35:04 ]
- どうせすぐ終了するんだし、fcloseなんかしない、っていう手もあるなw
- 421 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 04:44:26 ]
- こんなんでいいんじゃないか?
#include<stdio.h> main(c,a)char**a;{FILE*i=fopen(a[1],"rb"),*o=fopen(a[2],"wb");while((c=getc(i)) !=EOF){int x=1,d;while((d=getc(i))==c&&x++<255);ungetc(d,i);putc(x,o);putc(c,o) ;}fclose(o);fclose(i);return 0;}
- 422 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 06:38:51 ]
- >>421
すごいっすねw
- 423 名前:デフォルトの名無しさん [2007/05/07(月) 21:11:00 ]
- >>420
mainからreturnかexitで終了するかしたらプログラムが終了する前に閉じられてないストリームは閉じられるはず。
- 424 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:12:53 ]
- すみません
ランレングスでした
- 425 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:57:09 ]
- 誰かお題ちょーらい
- 426 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 19:10:47 ]
- viみたいな簡易エディタがほしいな
- 427 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:02:38 ]
- www.itmedia.co.jp/news/articles/0609/06/news107.html
お題 ナンプレ自動作成ソフト
- 428 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:13:47 ]
- >>427
www.timedia.co.jp/news/event/884464213/numplace20060906.pdf これよめ くず
- 429 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:52:28 ]
- >>428
結局その最後の解き味を判定する評価関数がすべてだよなあ
- 430 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:56:02 ]
- 作成より前に解くほうってもう出てたっけ? 7行で。
7行じゃなけりゃそんなに難しいお題じゃないけど。
- 431 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 02:36:40 ]
- 枝刈りなしのバックトラックなら7行で書けたが、
答えが出ないからあってるのかわからん・・・
- 432 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:48:24 ]
- 計算で出せばよくね?
一定の時間のクリック数/一定の期間にクリックできる最大数
- 433 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:50:06 ]
- 誤爆かね
- 434 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:51:03 ]
- ばれたかねww
- 435 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:12:28 ]
- まさか>>429へのレスのつもりじゃなかろうなと心配した
- 436 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 10:24:33 ]
- 「結局その最後の解き味を判定する評価関数がすべてだよなあ」
「計算で出せばよくね? 一定の時間のクリック数/一定の期間にクリックできる最大数」 考えただけでわらっちゃう 誤爆してすみませんでした。
- 437 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 23:58:22 ]
- 保守
- 438 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 23:29:07 ]
- CやC++のコメントを除去するプログラムって過去に上がってたっけ?
- 439 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:14:02 ]
- Perlで作ればいいだろう
- 440 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:09:05 ]
-
/* hogehoge /* fugafuga */ hagehage */ こんな風なコメントのときどう処理すればいいですか?
- 441 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:50:44 ]
- >>440
手動
- 442 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:57:52 ]
- コメントの中なに書いても良いんだから
/* hogehoge /* fugafuga hagehage */ /* hogehoge fugafuga */ hagehage */ なんかもあり
- 443 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:33:13 ]
- >>442
>なんかもあり 上の例は全部コメントだからありだけど、下の例はダメだよ。 だから >>440 は hagehage */ が残るのがコメント除去ツールとしては正しい処理だね。 もちろん /* から */ までと言っても、 \/* asdf */ みたいにエスケープされていたら、それはコメントにならない。 コメント閉じをエスケープするには /* *\/ と書く。 というわけで /* \*/ は正しいコメントだ。
- 444 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:42:53 ]
- >>443は書き方間違った
>コメント閉じをエスケープするには /* *\/ と書く。 フツーはこう書くけど、これ、別にエスケープじゃないね。 ごめん。
- 445 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 00:58:13 ]
- VCじゃネストコメント文だめっぽいな
Dならイイらしいが
- 446 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 02:18:22 ]
- >>438ですが、
少しでも役に立つものがあれば…と思ったのですが、 7行の題材としてはあまり面白くなかったですかね。 頑張れば5行くらいで書けるでしょうし。 いい題材が浮かびません…。
- 447 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 03:47:17 ]
- >>445
コメントのネストは伝統的にないことになってるはず。 >>446 5行で書く方法を思いつかない…orz こんなコメントとか /* printf("*/ \"\\"); */ Shift JISの2バイト目をきちんと処理できるように書くには7行じゃ足りない気がするんだけど…。
- 448 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:04:50 ]
- >>447
ヒント:7行でありさえすればいい
|

|