Cなら、俺に聞け!
■ このスレッドは過去ログ倉庫に格納されています
0001ビル・ジョブス
NGNGおれは、26歳、今まで1週間、C#を一生懸命勉強してきた、
C#なら誰にも負けない!
C#のことなら全部分かるから、疑問な点があったら俺に聞け!
でもここは、"名前空間"講座じゃないから"名前"は自分で調べろよ!
ビル・ジョブスが贈る、
C言語なら、俺に聞け!
制御系なら、俺に聞け!
COBOLなら、俺に聞け! もヨロシク!
さぁ、どうぞ!
00022
NGNG0003ビル・ジョブス
NGNG0004ビル・ジョブス
NGNGになるから、これで逝く、<2>から直す。
さぁ、どうぞ!
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG#include <stdio.h>
void main(void) {
char c;
int ln, sp, ch,InWord,Wcnt;
/* 文字数のカウント */
ln = 0; /* 改行 (\n) 数カウント用変数の初期化 */
sp = 0; /* 空白文字 (改行除く) 数カウント用変数の初期化 */
ch = 0; /* 文字数カウント用変数の初期化 */
Wcnt = 0; /* 単語数数カウント */
while (scanf("%s",c)!=EOF) {
if (c == '\n') { /* 改行 */
ln++;
} else if (isspace(c)) { /* 空白文字 */
sp++;
} else { /* 文字数 */
ch++;
}
if (isspace(c)) {
InWord=0;
}
else if(!InWord){
InWord=1;
Wcnt++; /*単語数*/
}
}
/* 結果の出力 */
printf(" 改行 : %2d\n", ln);
printf(" 空白文字 : %2d\n", sp);
printf(" 文字数 : %2d\n", ch);
printf("単語数 : %2d\n",Wcnt);
}
一応組みましたがなんかおかしいです。正しいのを教えてください。
OSはリナックスです。
0008デフォルトの名無しさん
NGNG本スレに質問してたやつ?
int c;
while((c = getchar()) == EOF)
にすると動くよ
ちなみにscanfの使い方だいぶ違う
scanf("%c",&c) という書き方が正しい
可変引数だと型チェックできないのでコンパイルは上のでも通る
ただし、確かscanfだとうまく行かない気がする。
やってないのでわからんけど。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGとりあえずwhileの条件部はおかしい。
00118
NGNGchar c;
while (scanf("%c",&c)!=EOF) {
この場合は関係ないと思うけど、scanf使った後に
scanfとかgetsとかでstdinから入力させたいときに、
改行がstdinに残っててうまく動かないことがある。
でfflush(stdin)とかいれたりするんだけど他にもなんかあるらしくて
気持ちが悪いのでscanfはあまりお薦めしない。
sscanfだけはよく使う
0012デフォルトの名無しさん
NGNGそれか
getsする前に scanf(" ")やっとけ。
お前の教科書にはscanfの書式で空白が特殊な意味を持つことが書いてないんだろう。
糞本だ。捨ててヨイ。
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGputs("(´д`;;)");
0018ビル・ジョブス
NGNGC#を語る上で.NETは外せないけど、VS.NETはC#相談室でやってるみたい
だから両方生かそう!
でも、System.Windows.Forms.TextBoxって機能低下してるね。
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG使えるよ。
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています