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


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

スレを勃てるまでもないC/C++の質問はここで 2



1 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 11:02:46 ]
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

スレを勃てるまでもないC/C++の質問はここで
pc11.2ch.net/test/read.cgi/tech/1167476845/


172 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:34:00 ]
もう寝るから、>>161がコピペしたものだとして、間違いを指摘するぞ。

■間違い1  余計なところにセミコロンがある。(2箇所)
{ } は、複数の文をひとまとめにするものであって、
if文、for文、while文の構文の一部ではない。

たとえば、
for(a=0;a<26;a++);{
n[a] = 0 ;
}
というのは、
for(a=0; a<26; a++) {
/* 何もしない */
}
{
n[a] = 0 ;
}
という意味になる。

■間違い2  変数名が間違っている。
fp = fopen("Count.txt","w");
↑これはfpではなくfpbだろう。

■間違い3  whileの条件は実際に実行される
while(fgets(s, 256, fp) != NULL);{
fgets(s,256,fp);

条件文のfgetsはループの先頭で実行されるので、
このように書くと、fgetsを2回呼ぶことになってしまう。


173 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:42:16 ]
■ループではないのにwhile文を使うな(if文を使うべき場所でwhile文を使うな)
while( s[a] != '\0' ) {
このwhileは無限ループするぞ。

■マジックナンバーを使うな

■ファイルに出力する文字列は改行を入れたほうがいいんじゃない?





それから、
学校の宿題なら、宿題スレに行ったほうがいいと思うぞっと。

174 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:48:12 ]
忘れてた。

ソースファイルからコピペしろ! と言ったのは、
タイプミスが、プログラムが思い通りに動かない原因になりうるから。
1文字違うだけで、プログラムは違う内容になってしまうから。
タイプミスには重々気をつけて、よく見直すこと。


プログラムの実行結果が、
意図したものにならなかった場合は、
プログラムが思い通りに動いてない。

そういう場合は、まず、
デバッガでステップ実行して、
自分が思っていた通りに動いているのか、確認すること。

かなりの問題点は、デバッガでステップ実行することで、発見できる。






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

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

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