C言語プログラムのの添削お願いします。
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGmain()
{
int a@`b=2;
char c;
a=3;
c='A';
printf("a=%d\n"@`a);
printf("b=%d\n"@`b);
printf("c=%d\n"@`c};
}これは"lesson.c"@` 10 行目: } またはそれより前に構文エラーがあります
出ました。
構文エラーはどこですか?
0002名無しさん@お腹いっぱい。
NGNGのあときちんと改行しています。
0003あおりんご
NGNGていうか、そんなんでスレッドたてるのやめろ。
0004名無しさん@お腹いっぱい。
NGNGこれ、「%d」じゃマズイでしょ。
「%c」ね。
って言うか、やる気ある?(w
0005名無しさん@お腹いっぱい。
NGNG00061
NGNG0007名無しさん@お腹いっぱい。
NGNG0008名無しさん@お腹いっぱい。
NGNGつーか、本当はわかるんだろ?ネタなんだろ?
0009名無しさん@お腹いっぱい。
NGNGこういうエラーが出て、10行目を穴のあくほど眺めない奴は死んでほしい
0010名無しさん@お腹いっぱい。
NGNG文字コードを出力するつもりなら、%dでもまずくないだろ。
0011名無しさん@お腹いっぱい。
NGNG坂井はよく「なんでエラーでんの?」とよく聞いてくるが
ソースを見てみるとセミコロン抜けてたりする。
これでも大学生。氏ね。
0012名無しさん@お腹いっぱい。
NGNG「デバッグ」と呼ぶのもおこがましいが。
0013名無しさんi486
NGNG>a=3;
こんな書き方すんなボケ。
厨房が半端にタイプの手間惜しんでんじゃねえ。
100年早いわ。
これからはこう↓書け。わかったな。
int a;
int b;
a = 3;
b = 2;
0014名無しさん@お腹いっぱい。
NGNG全面同意。
宣言は宣言、初期化は初期化。
0015名無しさん@お腹いっぱい。
NGNG0016名無しさん@お腹いっぱい。
NGNG0017名無しさん@お腹いっぱい。
NGNGa = 3;
a = 2;
か
int a = 3;
int b = 2;
のどっちかに統一すべきだよね
001817
NGNGa = 2; -> b = 2;
0019名無しさん@お腹いっぱい。
NGNG「例題」とか「教科書」とかで良く見るんだが、でかい
プロジェクトであれを真似されちゃ困るよなあ。
>>1のが勉強以外の意味を持たないコードだからって、
コメントも打ってない謎の数字を代入するなっツーことでひとつ。
0020初心者
NGNG#define d puts
#define e (
#define f main
#define g )
d e g ; f e a @` b g char * * b ; { int e * c g e g ; c = d + b [ a ] [ 0 ] ;
while e ~ ! ! a + 1 g e c - 0 [ b ] [ 513 & 510 ] g e e - e - e + e - e --
a g g / e 513 & 511 g g g * ~ 0 g [ b ] g ; }
先輩が「1文字書き換えれば動くようになるよ。あててみな」って言って渡されたんですけど
とても動くようにはおもえません。ほんとうにこんなプログラムが動くんですか?
よろしければ、ベテランのかたの助言が欲しいです。よろしくおねがいします。
0021名無しさん@お腹いっぱい。
NGNG相変わらず添削じゃないですねー。
0022名無しさん@お腹いっぱい。
NGNG0023名無しさん@お腹いっぱい。
NGNGdefineをエディタで置換して考えたら?
0024Cはしー欄
NGNGmain (a@` b)
char **b;
{
int (*c) ();
c = puts + b[a][0];
while (~!!a + 1)
(c - 0[b][513 & 510]) ((-(-(+(-(--a)) / (513 & 511))) * ~0)[b]);
}
0025Cはしー欄
NGNG0026名無しさん@お腹いっぱい。
NGNGで*(char *)NULLを読み出す。
c-b[0][0] もおかしいと思う。
002726
NGNGc-a[b][0]に直せば動きそうだけど、
普通はアクセス違反だね。
002826
NGNGint main(int argc@` char **argv)のとき、
argv[argc] == NULL だからね。
0029名無なさん
NGNGこんなん無視しれ。
0030名無しさん@お腹いっぱい。
NGNG0031名無しさん@お腹いっぱい。
NGNG0032名無しさん@お腹いっぱい。
NGNG逝ってよし。帰ってくんな。
>>20
お前も逝ってよし。先輩も見連れにして逝け。
0033ああっ名無しさまっ
NGNGエディタなんぞ使わずにプリプロセッサの出力見れ...
0034名無しさん@お腹いっぱい。
NGNGそりゃそうですな。相手が初心者なので、ついでに
プリプロセッサの出力とは何ぞや?ということを説明
してあげた方が良いかも。
おいらならこう説明します。
…コンパイラの解説読みましょう。
0035名無しさん@お腹いっぱい。
NGNG「プリプロセッサ」を選べばいいだけでは?
0036名無しさん@お腹いっぱい。
NGNGIDEおんりいの厨房発見。
0037名無しさん@お腹いっぱい。
NGNGしかも「コンパイラ」ときたもんだ。あーこりゃこりゃ。
0038名無しさん@お腹いっぱい。
NGNG0039名無しさん@お腹いっぱい。
NGNGわけの分からないコードを書きまくって甚だ迷惑です。
あなたはプログラマとしての適性がありませんので,別の仕事をしてね。
っていうか,ほんと一緒に仕事したくない。>>24 みたいな人間とは。
0040名無しさん@お腹いっぱい。
NGNGこういう話の流れも良く見ずに他人を攻撃する輩が社会に出ると、
わけの分からないトラブルを起こしまくって甚だ迷惑です。
あなたは社会人としての適性がありませんので、ドロップアウトしてね。
っていうか、ほんと一緒に仕事したくない。>>39みたいな人間とは。
-------------------------------------------------------------
っていうか、名前忘れたけど如何に意味不明なCのコードを書けるかを
競うコンテストがあって、多分20の「先輩」はそういう系統のマニアで、
20はその「先輩」の毒牙にかかっちまった訳だろ。で、24はその20
が提示した意味不明なコードをCPPにかけた上でindentにでも通した
ソースを掲示してるだけだぜ。
よく読めよな。
0041名無しさん@お腹いっぱい。
NGNGこいつは、スイズを出題するやつは、みんな頭がイカレてる
とでもいうのだろうか。
004241
NGNG004322
NGNG毒牙>俺もそんなところだと思う。
とはいえ初心者にやらせる問題じゃないな。答え教えてやったんだろうかその先輩とやら。
もしあんなソースで普通に開発してるとしたらむしろ尊敬の領域なのだが。
0044名無しさん@お腹いっぱい。
NGNG>っていうか、名前忘れたけど如何に意味不明なCのコードを書けるかを
>競うコンテストがあって、多分20の「先輩」はそういう系統のマニアで、
IOCCCだね。http://www.ioccc.org/
C FAQに載ってるぞー。
0045初心者というわけではないんですが
NGNGやはり普通はぱっと見ただけで解ける物なんですか?
正確には読む気が全くしないとも言えるんですが
ちょっと自信を無くして鬱入りそうなんですけど
(元々自信を持つ実力じゃないですけど)
0046名無しさん@お腹いっぱい。
NGNG#define d puts
#define e (
#define f main
#define g )
d e g ; f e a @` b g char * * b ; { int e * c g e g ; c = d + b [ 0 ] [ 0 ]
;
while e ~ ! ! a + 1 g e c - 0 [ b ] [ 513 & 510 ] g e e - e - e + e - e --
a g g / e 513 & 511 g g g * ~ 0 g [ b ] g ; }
0047名無しさん@お腹いっぱい。
NGNG0048名無しさん@お腹いっぱい。
NGNGフツー、ぱっとみで判らないからこそのIOCCCエントリー作品だと思われ。
いかに判りにくいコードを書くかのコンテストなんだから、ぱっと見で
読めるような「ヌルい」コードはお呼びじゃないでしょ。
0049名無しさん@お腹いっぱい。
NGNG同じものを足して引くんだから一見よさそうに思えるけど、
関数オブジェクトの加減算ってできるのか?
0050egcs-2.91.66
NGNGtmp.c:5: warning: data definition has no type or storage class
# gcc -Wall tmp.c
tmp.c:5: warning: type defaults to `int' in declaration of `puts'
tmp.c:5: warning: data definition has no type or storage class
tmp.c:7: warning: return-type defaults to `int'
tmp.c: In function `main':
tmp.c:13: warning: control reaches end of non-void function
# ./a.out
a.out
0051egcs-2.91.66
NGNGputs ();
main (a@` b)
char **b;
{
int (*c) ();
c = puts + b[0][0];
while (~!!a + 1)
(c - 0[b][513 & 510]) ((-(-(+(-(--a)) / (513 & 511))) * ~0)[b]);
}
しかし、、、わからん。
0052asdddsdf
NGNG/ ̄ ̄ ̄ ̄ ̄ ミ
/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \____________
0053名無しさん@お腹いっぱい。
NGNG005446
NGNGANSI C的にどうかは俺には何とも胃炎。気になるなら規格書当たってくれ
(やる気無し)。
ちなみに俺の環境は
% uname
FreeBSD
% gcc -v
gcc version 2.8.1
で、さらにいうと
% cat foo.c
main() { printf("%d\n"@` sizeof main); }
を実行した結果は 1 になるが、これもANSI C的にどうかは知らん。
しかし関数objectのサイズが1というのはどこかで見た記憶が無いでも
ない。
0055名無しさん@お腹いっぱい。
NGNG0056asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \____________
0057asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \___________
0058asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \________________
0059asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \___________
0060asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \___________
0061asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \___________
0062asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \___________
0063asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \__________
0064asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \_________
0065asdddsdf
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < …教えないよ!!
/| /\ \___________
0066名無しさん@お腹いっぱい。
NGNG006746
NGNGVC++1.0でもダメ。
tmp.c(6) : error C2296: '+' : 不正な左オペランドです。
tmp.c(8) : error C2296: '-' : 不正な左オペランドです。
ついでにsizeof mainもエラーになる。
少なくとも2の補数システムを仮定したコードであるぐらいは
分かっていたけど、これじゃあダメだな。
一体どれぐらいのコンパイラがこれを通すのだろう?
0068貧乏プログラマ
NGNGちなみに20はbcc32(bcbではない)ではダメだった。
67氏と同じ所でエラー。
ちなみにコンパイラは、関数Objectのサイズは0か不定だと言っていた。
0069名無しさん@お腹いっぱい。
NGNG/ @`――――-ミ
/ / / \ |
| / @`(・) (・ |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < 死ね死ね死ね死ね死ね死ね死ね死ね
/| /\ \________________
007020
NGNG正解は46さんの"[a]を[0]にする"でした。
こうすると、コマンドライン引数を逆順に出力するプログラムとして
動作するそうです。とてもそうは見えないのですが・・・。
先輩が言うには、こういうのは、gccの--traditionalオプション付きで
コンパイルするのが定石なんだそうです。
ついでにいろいろな話を聞かせてもらったのですが、
C言語って意外と歴史が古いんですね。
たとえば、「プロトタイプ宣言」なんて基本中の基本だと思っていたのですが、
それが無い時代も存在したなんて、驚きでした。
0071名無しさん@お腹一杯
NGNG要らんとこ取って行けばたしかに「コマンドライン引数を逆順に出力」しか
残らないですね。
0072asdddsdf
NGNGL_Welcome_MsgBox_Message_Text = "Do you really want to clean CloneCD from this computer ?"
L_Welcome_MsgBox_Title_Text = "CloneCD Cleaner 1.4 VBS version by CloneCD Underground - Win 95/98/ME"
Call Welcome()Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
Dim windir@`systemdir
'You can change this variables
windir = "c:\windows"
systemdir = "C:\windows\system"
On Error Resume Next
'############################################################################
'WSHShell.Popup "Delete Messiah key"
WSHShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Messiah"
'WSHShell.Popup "Delete Elaborate Bytes key"
WSHShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Elaborate Bytes"
'WSHShell.Popup "Delete Magna Carta key"
WSHShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\MagnaCarta"
'WSHShell.Popup "Delete Dogma key"
WSHShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Dogma"
'WSHShell.Popup "Delete Elaborate key"
WSHShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Elaborate"
'WSHShell.Popup "Delete Stolen key"
WSHShell.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Stolen"
'############################################################################
'WSHShell.Popup "Delete Messiah key"
On Error Resume Next
WSHShell.RegDelete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Messiah"
'WSHShell.Popup "Delete Elaborate Bytes key"
WSHShell.RegDelete "HKEY_CURRENT_USER\Software\Elaborate Bytes"
0073asdddsdf
NGNG0074asdddsdf
NGNG0075名無しさん@お腹いっぱい。
NGNGプロトタイプ宣言が古いってのはどの辺りを区切りにするかだな。
JavaやC++みたいな比較的新しい言語の使い手にすれば結構古いが
Basicを普通にやってた人からすればそうでもなかろうし。
0076名無しさん@お腹いっぱい。
NGNGどんなんでしょう?
一応↓は見つけたのですが・・・
http://ejournal5.hoops.ne.jp/
0077名無しさん@お腹いっぱい。
NGNGつーか
Java搭載iモードは,2001年早々にずれ込む
http://www.zdnet.co.jp/news/0011/15/docomo.html
とか言ってるようだが。
■ このスレッドは過去ログ倉庫に格納されています