[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 01/19 06:51 / Filesize : 249 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇)



1 名前:デフォルトの名無しさん [2006/05/04(木) 08:53:09 ]
入門者向けの俺に聞けスレです。
なんでもきいてよね

263 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 00:23:33 ]
ダウソして解凍してまで見る気にならん。
ソースそのまま見えるロダへ上げろ。

264 名前:262 mailto:sage [2006/06/06(火) 21:48:47 ]
>>263
すいません、これでどうでしょうか? nCm 結果表示プログラムです。
ttp://www.uploda.org/uporg410363.c


265 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 15:13:43 ]
んな流れの速いアップロードに上げられてもなぁ。もう消えちゃってるよ。

266 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 16:02:14 ]
コメントの内容とか見ると俺には>>264が自分で作ったとは思えなかった。

267 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 20:17:36 ]
つい最近Cの勉強を始めた初心者です。
以下のソースについて質問です。
(画面上に「HELlo」と表示させるものです)

#include<stdio.h>
int main(void)
{
int i;
char a[]="hello";      ・・・A

*a='H';             ・・・B
*(a+1)='E';          ・・・B
*(a+2)='L';           ・・・B
for(i=0;i<5;i++){
printf("%c",a[i]);
}
}

Aの部分ではhelloを「”」の記号でくくっているのに、Bの部分では
「’」でくくっています。
これはどうやって使い分けるのでしょうか。
よろしくお願いします。

268 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 20:26:03 ]
>>267
文字か文字列の違い

269 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 20:55:42 ]
>>267
お礼のレスはまだかゴルァ!!!!!!!!!

270 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 21:09:40 ]
>>267
初心者の俺が親切に答えちゃる。

"hello"は、'h'+'e'+'l'+'l'+'0'+'\0' のことで最後に '\0' = 0 がつく
同様に、"H"だと、'H' の後ろに '\0' が付く。

'\0' はここで文字列は終わりですよという目印
こうすれば最後に '\0' = 0 入っているのが分かんじゃないかな?

for(i=0;i<6;i++){
printf("%d-",a[i]);
}

こんなことをすれば、文字列を途中で終わらせることができるよ。

#include<stdio.h>
int main(void)
{
char a[]="hello";
printf("%s\n",a); /* hello と表示 */

*(a+2)='\0'; /* 3文字目に'\0'を代入。 */
printf("%s",a); /* he と表示される */
}

271 名前:267 mailto:sage [2006/06/07(水) 21:14:57 ]
>>268-270
すごく良く分かりました〜
ありがとうございました(・∀・)



272 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 21:58:03 ]
char a[] = "hello";
(配列の初期化に限っては)上は下と同じ。
char a[] = {'h', 'e', 'l', 'l', 'o', '\0'};

273 名前:267 mailto:sage [2006/06/08(木) 02:15:14 ]
>>272
thxです (^^

274 名前:デフォルトの名無しさん [2006/06/10(土) 11:06:36 ]
場違いかもしれませんが、質問です。
ソケットプログラムをしようと思っています(当方macです)が
sys/fcntl.h
sys/types.h
sys/socket.h
netinet/in.h
netdb.h
などのヘッダファイルの手の入れ方がわかりません
googleしてみましたが見当たりませんでした。
どこで手に入るのでしょうか?

275 名前:デフォルトの名無しさん [2006/06/10(土) 11:39:55 ]
質問ですけど、Aドライブからテキストファイルをよみこむのって
どうしたらいいんですか。

276 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 12:23:02 ]
Cドライブから読み込むプログラムのCをAに変える

277 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 13:46:16 ]
>>274
>場違いかもしれませんが
その通り。

278 名前:デフォルトの名無しさん [2006/06/10(土) 14:45:44 ]
>>277さん
では、どこが適切な場所か教えて下さい。

279 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 15:03:36 ]
質問内容が意味不明だから誘導も出来ない。

280 名前:278 [2006/06/10(土) 15:16:36 ]
こめんなさい。私の質問がまずかったのですね。
あるソースをみたら、上記にあるヘッダが#includeする
部分にかかれていたのです。でもHD内を検索したらそんな
書類はなくって(types.hはあったけど、、)。
で、web上にあるのかなと探したけれど上手く見つけられな
かったのです。だから、何処にあるのかわからなっくって
質問したのですが、、、
このヘッダは有名(と言えばいいの?)じゃないんですね。
ありがとうございました。それだけわかりました。
スレを汚してごめんなさい。

281 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 15:27:55 ]
macは独自文化だから、macユーザーの集まるところへ行ったほうがいい。
最近のmacと昔のmacではOSが全然違うから、OSバージョンも明確に質問すること。



282 名前:えいいち ◆GRGSIBERIA mailto:sage [2006/06/10(土) 15:29:37 ]
WinAPIに手を出そうかと思って、Windowsゲームプログラミングを見ていますが、
以下のソースをコンパイルして実行すると、コンパイルに失敗して、実行ファイルが存在しない、とエラーが出ます。

#include <windows.h>

int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
) {
MessageBox(NULL , "Hello, world!" , "MessageBox" , MB_OK);
return 0;
}

コンパイラはボーランドのC++Builderで、Cpadというソフトでコンパイル・実行しています。

283 名前:えいいち ◆GRGSIBERIA [2006/06/10(土) 15:30:26 ]
あと、エラーメッセージなど。

bcc32 test.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
test.c:
警告 W8057 test.c 11: パラメータ 'hInstance' は一度も使用されない(関数 WinMain )
警告 W8057 test.c 11: パラメータ 'hPrevInstance' は一度も使用されない(関数 WinMain )
警告 W8057 test.c 11: パラメータ 'lpCmdLine' は一度も使用されない(関数 WinMain )
警告 W8057 test.c 11: パラメータ 'nCmdShow' は一度も使用されない(関数 WinMain )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照)


284 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 15:31:07 ]
コンパイルに失敗すれば実行ファイルが出来ないのは当たり前だ。

285 名前:デフォルトの名無しさん [2006/06/10(土) 15:39:13 ]
>>281
そのヘッダはどうやらunixのものなのらしいです。
とあるwebサイトで以下のような文章を見つけまして、
「WindowsやMacOS などで利用されるC言語処理系はUNIXのシステムコールと
同じ機能をもつ関数 を提供することが多いです。ヘッダーファイルの指定
さえ行えばソケットを利用したプログラムが書けるようになります。」
とあったので、それらのヘッダファィルのをとりあえず手に入れなければ
手の出しようがありません。入手先が皆目見当がつかないので、とりあえず
ここで聞いてみたという次第です。なので今はmacは関係ありません。
デフォルトでそのようなヘッダファイルが入っていないと言いたかったのです。

286 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 15:39:15 ]
>>282-283
WinMainから始まるプログラムを書くときにはオプション-Wが必要。

287 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 15:40:39 ]
>>285
元がUnix由来でも、Macで使いたいのだからMacのところで聞いて平気だと思うよ。

288 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 15:40:49 ]
>>285
ヘッダだけ入手しても、socketプログラミングとかは出来ないがそれでもいいのか?

289 名前:デフォルトの名無しさん [2006/06/10(土) 15:48:10 ]
>>288
それでもいいです。と言うかサンプルコードを移植する為に
どういった構造体や定義とかが書かれているのか知りたいのです。
それを基に(mac用に)改変しようと思っています。
とりあえずいきなりsockaddr_in 構造体とかいわれても
ヘッダを見ないと何が何だかさっぱりなので。


290 名前:えいいち ◆GRGSIBERIA mailto:sage [2006/06/10(土) 15:48:32 ]
>>286
-wと-Wを間違えていたようでした。
お騒がせすみません。
ありがとうございました。

291 名前:デフォルトの名無しさん [2006/06/10(土) 15:50:45 ]
>>289
バージョンは?
ひとまずXcodeを入れる必要があると思います。
自分の環境にはヘッダファイルありますから。



292 名前:291 mailto:sage [2006/06/10(土) 15:55:01 ]
>>289
これ以上はMac板で訊いた方が良い。


293 名前:デフォルトの名無しさん [2006/06/10(土) 15:55:32 ]
>>291
xcode(2.0,os 10.4.6)にありますか?
私はcodewarrior(8.3)をメインに使っていて、
先程(質問する前)ヘッダファィルが含まれているかなと思ってxcodeを
インストールしたのですが、spotlightで検索しましたが見つかりませんでした。
なんででしょう?どこにありました?質問ばかりですみませんが。

294 名前:277 mailto:sage [2006/06/10(土) 15:58:06 ]
ここで説明すると居座るかと思って説明しなかったんだが
どっちみち居座りやがったか…

295 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 16:16:00 ]
gccって.cファイルに//コメント使えますか?

296 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 16:40:17 ]
>>295
たぶん使えるはず。
心配なら-std=c99を付ければ文句無し。

297 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 17:29:05 ]
マカはマカ板に逝け。
おまいにVC++の話題されても全く理解できないのと同じだ。
おまいの話題はxcode使ってない香具師には全く理解できない。

298 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 18:31:46 ]
a=(b*c)%2147483647;
の計算したいのですが
b*cの計算した時点で
変な数値になってしまうんですが
うまい方法ないでしょうか?

299 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 18:43:39 ]
これまた強烈な奴がおいでになりました。
↓が相手してあげてください。

300 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 18:50:15 ]
>>298
bとcの型が小さくて結果の上位ビットが捨てられているのではないかと予想。
個人的には2147483647の剰余を求めるよりも0x7fffffffとの&を取る方がいいと思う。

301 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 20:51:51 ]
>>300
>2147483647の剰余を求めるよりも0x7fffffffとの&を取る
それは結果が異なるのだが。



302 名前:デフォルトの名無しさん [2006/06/10(土) 21:07:53 ]
struct element{//各要素を構造体で作る
struct element *leader ;//集合のリーダー(構造体)を指すポインタ
struct element *back ;//自分(要素)の後ろにいる要素(構造体)を指すポインタ
int number ;//所属する集合の要素数
};

struct element set[n];//具体的にsetという要素をn個作る

ここまでは問題ないのですが、この構造体を操作する関数を宣言のが上手くいきません。それは、

void yunion(int x,int y)//union関数が予約語だったとは・・・
{
if(set[x].number - set[y].number => 0)★★★//xが要素である集合がyが要素である集合より要素数が多い時
{
set[y]->leader = set[x]->leader;//代表元を書き換える


}

}

これをデバッグすると★★★の行で「set:定義されていない識別子です」とか言われます。
でも上で定義しているし・・・
この関数宣言の問題点はどこでしょうか?

303 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 21:38:35 ]
>>302

if(set[x].number - set[y].number => 0 じゃなくて、
if(set[x].number - set[y].number >= 0 だろ。
あと、
set[y]->leader = set[x]->leader;//代表元を書き換える  じゃなくて、
set[y].leader = set[x].leader;//代表元を書き換える   だろ。

leaderはstruct element型へのポインタだが、set[x]はstruct element型
であってポインタじゃない。

304 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 21:44:54 ]
>>302
 まさかとは思うけど、setはグローバル変数じゃなくてローカル変数ですた、
とかいうオチじゃないだろうな?

305 名前:302です [2006/06/10(土) 22:12:41 ]
お返事ありがとうございます。

setはメイン関数内で宣言しています。
yunion関数宣言はメイン関数の外で宣言しています。
エラーの理由として、

'set' : 定義されていない識別子です
.number' の左側はクラス、構造体、共用体でなければなりません
.leader' の左側はクラス、構造体、共用体でなければなりません

と言われます。
メイン関数の外で関数を作ってそこで代入を行ってもメイン関数には
反映されないので、ポインタを書き換えるためにアロー演算子で
「代表元を書き換える」をやろうとしています。

・・・まさか、メイン関数内で宣言したらグローバル変数だと
思っていたのですが、実はローカル変数扱いになるのでしょうか?

306 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 22:18:30 ]
ネタか釣りと言ってくれ……_/ ̄|○

307 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 22:37:30 ]
なんだコイツは?と思ったらここは入門編だった

308 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 22:43:14 ]
>>305
 これ、どっから突っ込めばいいんだよ・・・

グローバル変数:プログラム全体から操作できる変数
ローカル変数:関数内で定義され、定義された関数内からしか直接操作できない変数
(関数内static指定の変数はどうなの?とかいう細かい話はとりあえず却下)

main関数もあくまで関数の1つ。よって、main関数内で
定義された変数もローカル変数。OK?
だからsetをmainの外に置きグローバル変数にすれば
とりあえずエラーは消える。
(グローバル変数にせず引数渡しをしてはどうか、
とかいいたいところだけど、ポインタがわかってないみたいだし、
混乱しそうだから止めておく)

>メイン関数の外で関数を作ってそこで代入を行ってもメイン関数には
>反映されないので、ポインタを書き換えるためにアロー演算子で
>「代表元を書き換える」をやろうとしています。
 これは説明できない!なんていえば理解してもらえるのかわからん!
匙を投げました。とりあえず
set[y].leader = set[x].leader;
に変更し、そしてCの基本からやりなおしてください。


入門編だからしょうがないよね。あはは・・・

309 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 22:48:45 ]
次スレは「C言語なら俺に聞け(くだすれ編)」か「くだすれC言語」にすべきだな。

310 名前:302です [2006/06/10(土) 23:04:18 ]
お返事ありがとうございます。

ポインタを使うのは私には難しいのでそういう場合はグローバル変数で
処理しちゃえばポインタは考えなくていい、ということですね。

構造体の配列のポインタを操作、する必要があると思っていたのですが
ポインタが消えてくれてここからは自分で進めそうです。

入門編ということで来てしまいましたが、まだ門に入るに至らなかったようです。
Cの基本からやり直してきます。
疑問は全て解決しました。ありがとうございました。

311 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 23:15:59 ]
確かにポインタ知識はCで必須というわけじゃないよな



312 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 23:19:22 ]
そうだな。リスト構造なんてポインタなくてもなんとか作れるし

313 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 23:21:24 ]
でも、ポインタを上手に使って作るほうがずっと簡単。

314 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 23:25:03 ]
ポインタ説明なくせばCの授業もすぐ終わるし書籍も薄くできるのに

315 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 23:30:06 ]
Cの次に出る言語は多分ポインタ使わないだろうな

316 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 23:39:53 ]
Javaはポインタ使わないってママが言ってた

でもね、NullPointerExceptionていう例外はあるんだって
土曜日に遊びにくるおじさんが言ってた

317 名前:デフォルトの名無しさん [2006/06/10(土) 23:45:37 ]
>>311-312
Cで配列を扱う為には、ポインタでなければアクセス出来ない訳だが…。
標準関数ですらポインタを渡すものが多いのに、よくそんな事言えたものだね。


もう一度、勉強し直した方がいいよ。

318 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 23:46:35 ]
>>316
ガッ

319 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 00:00:08 ]
>>317
いやリストくらい作れるって

ヒント:マクロ

320 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 00:01:43 ]
>>319
まず、日本語の勉強が必要そうだね

321 名前:312 mailto:sage [2006/06/11(日) 00:21:21 ]
あぁポインタの知識の事か
配列を使う=ポインタについて知識が必要なんだよゴラァ

と怒られたのか俺は


配列の知識なんてCで(ry



322 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 00:53:09 ]
ポインタって宣言がおかしくない?
こんな感じの方がよくない?
ptr は予約語。

ptr char& p;

323 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 00:53:34 ]
>>289
ttp://pc7.2ch.net/test/read.cgi/mac/1130776036

今更だが

324 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 02:34:55 ]
CとC++一生にどっちかしか身につけれないならどっちやるべき?

325 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 02:44:32 ]
もう寝ろよ

326 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 09:34:09 ]
ポインタありと無しの実行結果ぐらいプロファイルして比べてみればいいのに。
ポインタ使ったほうが効率はいいよ。

327 名前:超初心者マー君 [2006/06/11(日) 09:42:18 ]
すいません。
最近パソコン始めた超初心者なんですが
C言語を動かす為には何が必要なのですか?
「猫でもわかるC言語プログラミング」という本を
買って挑戦してるんですが、全くわかりません。
コンパイラーというもののインストールの仕方が分かりません。
コンパイラー以外にも何か必要なのですか?
添付CDロムのファイルの使い方がそもそも分からないし・・・・・
ぼくは猫以下なんでしょうか。
教えて1さん。

328 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 09:50:27 ]
>>324
python

329 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 10:05:11 ]
>>324
CとC++一生にどっちかしか身につけれないならプログラミングなんてしない方がいい。

330 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 10:48:20 ]
>>327
俺も昔、何万もだして買ったコンパイラーの使い方がわからなくて、
ドブに捨てたよ。

331 名前:デフォルトの名無しさん [2006/06/11(日) 11:01:01 ]
初心者なら無料の使えよ〜



332 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 11:17:06 ]
猫でもわかるなんて参考にすると腐るぞ〜

333 名前:デフォルトの名無しさん [2006/06/11(日) 11:21:07 ]
>>324
C++はCのサブセットだから、C++覚えればCも覚えたことになる。
だから解なしって答えなんだろ?

>>327
www.microsoft.com/japan/msdn/vstudio/express/visualc/


334 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 11:24:03 ]
>>326
使い方次第。
何でもかんでも「ポインタ=高速」なんて思うのは間違い。

335 名前:超初心者マー君 [2006/06/11(日) 11:25:04 ]
皆さんありがとう。
コンパイラーってそんなに高いものだったんですか・・・・・
「ハロー、ワールド」すら未だに表示させられません。
誰かインストールの仕方と他に必要なものを教えて
いただけませんか?

336 名前:デフォルトの名無しさん [2006/06/11(日) 11:25:13 ]
C言語入門ビギナー編をひととおりやってみて、問題集でも買おうとおもってるんですが、いい本があったら教えてください。

337 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 11:41:43 ]
>>322
C++だけど。
template<typename T>
struct ptr
{
  typedef T* type;
};
こうすればこう書ける。
ptr<char>::type p;

338 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 11:47:05 ]
>>335
Borland C++ならここのイントロ〜2章を読め。
www.kumei.ne.jp/c_lang/bcc/

VC++ 2005 EEならインストールした後のことはここに少し書いてある。
www.kumei.ne.jp/c_lang/net2005/project.htm

339 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 14:59:45 ]
>>333
>C++はCのサブセット
……

340 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 15:46:18 ]
逆だな。
っていうかCもC99からはC++と完全な互換性はなくなってるけどな。

341 名前:デフォルトの名無しさん [2006/06/11(日) 17:34:12 ]

関数ポインタって何に使うんですか?




342 名前:デフォルトの名無しさん mailto:age [2006/06/11(日) 17:45:09 ]
>>341
DLLから動的に関数をもらう時とか

343 名前:デフォルトの名無しさん [2006/06/11(日) 18:34:12 ]
main(int argc,char argv*)
ってなんですか?
本に載ってません。


344 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 18:53:51 ]
>>343

www.google.co.jp/
↑このサイトにかなり色々載ってるから、みてみるといいよ。

真中に文字入力するとこあるから、「main(int argc,char argv*)」っていれてからボタンを押してね。

345 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 19:22:54 ]
>>343
そんな糞本は捨てちまえ

346 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 19:29:32 ]
main(int argc,char argv*)
で載ってる方がよっぽど糞本だがな。

347 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 19:33:23 ]
本のタイトルは?

348 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 19:34:09 ]
正しいのって int main(int argc, char** argv) だっけ?

349 名前:デフォルトの名無しさん [2006/06/11(日) 21:26:24 ]
>>348
int main(int argc , char *argv[])

350 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 21:58:17 ]
>>349
言語仕様は以下

返却値の型 int をもち仮引数を持たない関数
int main(void){ /* ... */ }

二つの仮引数を持つ関数(仮引数は, これらが ...)
int main(int argc, char *argv[]) { /* ... */ }

上に揚げた二つの方法のいずれかと等価な方法
--> int と等価な typedef された型でもいいし, char **argv でもいい

上に揚げた三つの方法のいずれでもない処理系定義の方法


351 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 22:24:53 ]
じゃあ char argv* な環境があるかもしれないと(あるのか?)



352 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 23:10:43 ]
char argv[] ならともかく char argv* ってなによ?

353 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 23:24:40 ]
ワイルドカードでは

354 名前:デフォルトの名無しさん mailto:sage [2006/06/12(月) 00:47:25 ]
今北。
俺は、C++をやろうと思ってるのですが、C++でもおkですか?

355 名前:デフォルトの名無しさん [2006/06/12(月) 00:47:59 ]
>>354
C++相談室 part50
pc8.2ch.net/test/read.cgi/tech/1149427282/

356 名前:デフォルトの名無しさん mailto:sage [2006/06/12(月) 01:09:20 ]
>>355
すいません。ここじゃないのですね。ありがとうございます。


357 名前:デフォルトの名無しさん mailto:sage [2006/06/12(月) 12:06:42 ]
>>354
何がどうだったら「おk」なんだか解らんが
少なくともお前には無理。

358 名前:デフォルトの名無しさん mailto:sage [2006/06/12(月) 12:57:35 ]
>>350
> char **argv でもいい

関数の仮引数における「type hoge[]」は、
「type *hoge」のシンタックスシュガー。

正確には「char *argv[] でもいい」と書くのが正しい。

359 名前:デフォルトの名無しさん mailto:sage [2006/06/12(月) 12:59:06 ]
仮引数の [] は配列じゃないよ。ただのポインタだよ。

360 名前:デフォルトの名無しさん mailto:sage [2006/06/12(月) 14:48:53 ]
>>358,369
おまいらの主張は, 言語の持つ意味としては文句のつけようがないんだが,
JIS の規格書に書いてあるんだよぉ...
俺は JIS の規格を要約しただけで, 俺のせいじゃないんだよぉorz


361 名前:デフォルトの名無しさん [2006/06/12(月) 16:23:07 ]
#include<stdio.h>
int main(void)
{
int a;
double b,c;

scanf("%lf",&b);
a=(int)b;c=a*10;
printf("a=%d\n",a);printf("b=%lf\n",b);printf("c=%d",c);
return 0;
}

上記プログラムを実行してbに1.23を代入したら
a=1
b=1.23
c=0

となりました。どうやればaにbの整数部分である1を代入できるのでしょうか・・・・

OS:windows2000
コンパイラ:borland



362 名前:デフォルトの名無しさん [2006/06/12(月) 16:25:39 ]
お願い
5×5の魔方陣教えて

363 名前:361 mailto:sage [2006/06/12(月) 16:43:29 ]
すいません。int c;でした。。。解決しました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef