問題です コメントをはずしても「まったく」問題ないのは何番でしょう? #include <stdio.h> void main(void) { char moji[300]; //moji[300] = "こんにちは"; //・・・@ //strcpy([300]mozi, "こんにちは"); //・・・A //"こんにちは"; //・・・B return; } ひっかけですが。思いついたら書きますね。
#include <string.h>
4 :
仕様書無しさん :2005/12/26(月) 23:29:10
これ、このまんまじゃコンパイル通りません。 本当にありがとうございました。
いやん
8 :
1 :2005/12/26(月) 23:37:47
僕がへたでごめんyo
>>2 、解です!と言いたかったんだが・・・
>>6 そうなの?www「まったく」問題ないのだぞ
Aに関しては[0]mojiとか、はみ出さなければOK。知ってるか。
もちろん上司には蹴られるよ。
Bも定数になるからおkだね。
全部問題あり
ぷぷぷC厨の爺がアホされしておるわい
>>12 コンパイラはどれでも同じ結果ですか?
ちょっと試してみようかと
14 :
1 :2005/12/26(月) 23:49:59
gccなら-Wall指定でよろ
gccだとAはとおらんね。
16 :
1 :2005/12/26(月) 23:52:53
だから通らんと言っておるが [299]ならいけるかな。(300は定義してないから駄目だけど。)
test.c:9: error: parse error before '[' token 0でも299でも通りません。 ありがとうございました。
18 :
仕様書無しさん :2005/12/26(月) 23:57:10
C厨ってアフォばっかwwwwwwwwwwwwwwwwwww
もしかして・・・・ strcpy([300]mozi, "こんにちは"); は、 strcpy([300]moji, "こんにちは"); と書きたかったのか?
20 :
1 :2005/12/26(月) 23:59:08
(照
とりあえず、俺が最速正解だったと言うことで。
>>18 結構奥深いよ。
この問題はちょっと答えられなかった。
勉強になりますな。
23 :
1 :2005/12/27(火) 00:11:20
加齢臭漂ってるな
コンパイラが呆けてそうだな 哀れだ
26 :
1 :2005/12/27(火) 16:22:35
ほうけるよw実用ではない
27 :
仕様書無しさん :2005/12/27(火) 18:31:15
$>javac unko.java
29 :
1 :2005/12/27(火) 19:37:24
>void main(void) int main(void)では? ;-)
遅いよ。日下部のおっさん
32 :
1 :2005/12/28(水) 00:21:02
ま、ぶさなコードだよね
わざとだけどw
解答ageてことで。
>>2 には悪いが、インクルードが必要なのは
Aのみだから、コンパイルエラーかどうかの観点で言えば
単純にBが正解になる。但し「100;」みたいに
意味ないコードだから、当然警告になるよ。
結論としては
>>9 が当たり、か。
まあお互い実際はちゃんと書こうねー
33 :
仕様書無しさん :2005/12/28(水) 00:29:52
class Unko{ public static void main(String args[]) { String s="Baka", s1 = "UnkonaJavaTyuWara"; while(true){ s = s + s1; System.out.print(s); } } }
34 :
1 :2005/12/28(水) 01:07:29
つ[ 強制終了!
>32 > 当然警告になるよ。 「まったく」問題ない? 重箱の隅だけどわざわざ強調してたから気になった
36 :
1 :2005/12/29(木) 00:03:14
乙。
当スレの1です。または某板のアナーキストです。 sageても訪れるあなたへ・・ リンクリストの問題です。詰まる人は詰まるでしょう。 幾つか参考書を見ましたが、なんかどれも冗長だったので。 こんくらいシンプルに書ければまあよいかな、と。 【ルール】 長いので、 @ 次レスでは必要なヘッダ情報を開示。必要最低限。揚げ足はあってもいいが・・ A 問題ソース(問題@穴埋め)。/*@*/、/*A*/、/*B*/を適当な構造体名に置き換える事。 B 問題A。 極力ロジックを頭で考えて下さい。 「ここが分からない!」という質問がもしあれば受け付けます。 コンパイルすればわかる「だけ」の問題は出してもしょうがないしね。。理解しないと。 (Aは、見て3秒以上掛かったらヤヴァいかもねw)
//crev.h //include------------------------------------------------------ #include "include_all.h" //必要なインクルードファイルぜーんぶ //structure---------------------------------------------------- typedef struct crev{ int i; //ID char str[STRMAX]; //STRMAX=123 struct crev *next; struct crev *prev; }CREV; //なんかIDと人の名前、みたいな(用途は不明ww) //function----------------------------------------------------- int id_name_ask( int *o_int, char *o_chr ); //IDと名前をscanfで入力させて構造体に代入するお
//linklist.c //id_name_askで「ぬるぽ」と入力されるまで //リンクリストを繋げます。面倒な説明は略! _error_no linklist( void ) { _error_no en = ENOERROR;//enumエラーコード(ENOERROR=エラーなし) CREVIEW *pCur=NULL, *pDmy=NULL, *pTop=NULL; while(1) { if( !(/*@*/ = (CREVIEW*)malloc(sizeof(CREVIEW)))) { en = EAL;//enumエラーコード(EAL=アロケーションエラー) break; } memset(/*@*/,0,sizeof(CREVIEW)); if( !id_name_ask( &/*@*/->i, /*@*/->str )) { /*@*/ = NULL; break; }
if(!/*B*/) { /*B*/ = /*@*/; /*A*/ = /*B*/; } else { /*B*/->next = /*@*/; /*B*/->next->prev = /*B*/; /*B*/ = /*B*/->next; } } for( /*B*/=/*A*/; /*B*/; /*B*/=/*B*/->next) { //表示 printf("%d\n",/*B*/->i); printf("%s\n",/*B*/->str); } return en; } //(ここまで)
あ、番号振り忘れた。 問題A の問題。 このソースで決定的に問題がある「あれ」について、指摘せよ。 本当にありがとうございました。
42 :
仕様書無しさん :2005/12/29(木) 10:10:42
なんだよ双方向リストかよ 新人研修みたいだな アロケーションエラーが発生したら、確保済みの領域をfree(ロールバック)する ロジックを入れたほうがいいぞ。この例ではプロセス終了になるから いいのかもしれんが、ミドルウエア開発では必要になるテクニック。
43 :
ペンチャマン ◆iyx/0deoUw :2005/12/29(木) 11:18:58
まあ、Aの答えってことで42正解age。 ところでちゃんと書けるかな?w その通り・単なるフリーじゃだめだよ。 もっとシンプルな問題がいいんだが、夜中にだらだら書いちゃった。 反省。@の答えは?
44 :
仕様書無しさん :2005/12/29(木) 14:10:25
確保された添え字またはカウンタ位置からデクリメントしながら freeする
んで穴埋めは?ビルド通れば良し!簡単だ
46 :
仕様書無しさん :2005/12/29(木) 15:52:21
穴埋めはセーブポインタとprev,nextポインタにアドレスを 的確にセットする prevの先頭にはNULL nextのラストにもNULLをセットして前後の終了位置をロジックで 判断できるようにする。
48 :
仕様書無しさん :2005/12/29(木) 18:30:37
漏れならif..elseにはしないがな なんかダサいコードだなw
49 :
1 :2005/12/30(金) 03:58:32
え 2項演算子!?
あれま。誰か問題出せよ
51 :
仕様書無しさん :2006/01/01(日) 23:01:40
リスト構造と木構造は新人研修必須項目だな
高級言語だけ弄ってると、その辺はライブラリに頼ってしまうからね。 C/C++でも実務ではSTLとかMFC/ATLに頼る場合が多いけど、 研修の内に自力での実装を学んでおくべき。
53 :
仕様書無しさん :2006/01/01(日) 23:28:05
次のアルゴリズムで,for文の中の人がやってる処理の 意味は何かわかるかな〜?( ・ω・)∩ unsigned char a = 13; unsigned char b = 178; unsigned int x = a; unsigned int y = b; unsigned int z = 0; for(int i = 0;i < sizeof(unsinged char);i++){ z += (y & 0x1) ? x : 0; x <<= 1; y >>= 1; }
>>53 毎度毎度sizeof関数実行すると
処理速度が遅くなってよろしくない気がする
55 :
仕様書無しさん :2006/01/01(日) 23:31:33
sizeofは関数じゃないぞ
sizeofは関数じゃないぞ・・・・
sizeofは関数じゃないぞ
58 :
55 :2006/01/01(日) 23:32:46
あ、かぶった(w
59 :
仕様書無しさん :2006/01/01(日) 23:33:38
sizeofは関数じゃないぞ
60 :
54 :2006/01/01(日) 23:34:41
もう勘弁してくれ。・ ゚・。* 。 +゚。・.。* ゚ + 。・゚・(ノД`)
正月休で忘れさられた池の鯉に餌を投げ込んだかのようだ。
63 :
仕様書無しさん :2006/01/01(日) 23:58:25
どっちにせよ、1回しか実行されんのだから、大差ねーよ。
一回しか実行されんのだったら for文使わなくても(ry
65 :
仕様書無しさん :2006/01/02(月) 00:01:21
ていうか,sizeof(組み込み型)ってコンパイラが定数化してくれないの?
もう #include UNSIGNED_CHAR_SIZE 1 でいいじゃん
68 :
53 :2006/01/02(月) 00:10:41
スマソ,問題ミスった orz i < sizeof(unsinged char) ↓ i < sizeof(unsinged char)*8 だった. 今は反省している. unsigned char a = 13; unsigned char b = 178; unsigned int x = a; unsigned int y = b; unsigned int z = 0; for(int i = 0;i < sizeof(unsinged char)*8;i++){ z += (y & 0x1) ? x : 0; x <<= 1; y >>= 1; }
69 :
53 :2006/01/02(月) 00:15:39
芯でお詫びをば・・・ int y,o_o; o_o = 1; y=-(o_o);
う、うめ
「ほらね、レビューなんて莫迦のする事だという事が判るだろう?」
72 :
ペンチャマン ◆iyx/0deoUw :2006/01/19(木) 19:33:41
うるちゃいなあもう 久々に問題。 よくC++で、クラスの説明について「構造体に関数を定義できる」な〜んて ことが書いてありますが、あえて構造体でやるとどうなりますか? 簡単なソースを書いてみよ
>>72 構造体と関数をただ単に普通に使うだけだろ?
早い話が、カプセル化しないCの状態と同じになる。
ヒント:EssentialCOM
75 :
ペンチャマン ◆iyx/0deoUw :2006/01/20(金) 21:42:47
76 :
仕様書無しさん :2006/01/21(土) 14:29:07
クラスは異なるクラスで共通の名前のメソッドやプロパティに アクセスするのが醍醐味。 構造体でやろうとすると、メソッドにアクセスするときその構造 体の定義がわからないといけないので、簡単にとはいかないような 希ガス。
自力vtable書けば宜しい。 ただ、コンストラクタを自分で呼び出す必要があるんで あんまり意味がない。 (Xt Intrinsics なんかはインスタンスを生成する関数を用意してるが)
struct Unko{ (void*)shikkoo*; };
次のコードをコンパイルして実行すると"take"と印字されると 思ったのですが、Bus Errorとなりました。 結果が腑に落ちないのですが、 文字列のリテラルを変更したから エラーになったという理解で正しいでしょうか。環境はMac OS X (10.4.5)でコンパイラのバージョンは gcc 2.95.2です。 よろしくお願いします。 #include <stdio.h> int main(int argc, char* argv[]) { char* array[] = {"sake", "toba", "ikura"}; char** p = array; (**p)++; printf("%s¥n", *p); return (0); }
どう見ても板違いだったので他の板に投稿します。 ありがとうございました。
81 :
仕様書無しさん :2006/03/26(日) 22:31:52
愛子
82 :
仕様書無しさん :2006/03/27(月) 08:49:42
ム板に移動すると色々教えてくれるかもしれんな。
関数ポインタを構造体のメンバで定義すれば良いだけな希ガス。
C言語なんて終わった言語。 終了
ワラタ。 真・C言語厨をレビューしてみる おもろいスレタイだな 低脳C言語厨をレビューしてみるなんてなw
ぬるぽ
90 :
仕様書無しさん :2006/04/26(水) 22:10:32
Java6のVMは昔ながらのC言語で記述されております。 馬鹿なJava厨は自分たちの実行する糞トロクサコードが C言語の古臭いライブラリ関数で踊らされていることすら知りません
WindowsのNTカーネルやUNIXはC言語で書かれてるし、 どんな言語でも結局はC言語の上で動いてると思うが。
>>91 >結局はC言語の上で
コンパイルされた時点でネイティブコードになる処理系では
それは最早「言語が xx」などとは呼べません。
>動いてると思うが。
思うのは勝手ですが、公の場でその発言は
頭の悪さを露呈する効果しかなかったようですね。
93 :
仕様書無しさん :
2006/05/02(火) 18:19:50 91… せめて「Cでも書ける」にしとけ