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


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

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



1 名前:デフォルトの名無しさん [2009/03/02(月) 00:36:19 ]
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

過去ログ
スレを勃てるまでもないC/C++の質問はここで
pc11.2ch.net/test/read.cgi/tech/1167476845/
スレを勃てるまでもないC/C++の質問はここで 2
pc11.2ch.net/test/read.cgi/tech/1178503366/
スレを勃てるまでもないC/C++の質問はここで 3
pc11.2ch.net/test/read.cgi/tech/1187521676/
スレを勃てるまでもないC/C++の質問はここで 4
pc11.2ch.net/test/read.cgi/tech/1221633708/
スレを勃てるまでもないC/C++の質問はここで 5
pc11.2ch.net/test/read.cgi/tech/1230516307/
スレを勃てるまでもないC/C++の質問はここで 6
pc11.2ch.net/test/read.cgi/tech/1231564903/
スレを勃てるまでもないC/C++の質問はここで 7
pc11.2ch.net/test/read.cgi/tech/1232983248/

115 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 01:41:15 ]
>>113
その考え方ステキだな。
俺は途中でロベールを読んだが、たま〜に知らない事が出てきて面白かった程度の記憶しか残っていない。
(逆に言えば特につっかからなかったとも言える。慣れてたからだろうけど。)
最初に読んでいたらきっと感慨も違っただろうなぁ。


116 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 01:58:46 ]
私の考え方は他人と違う。。同じかもしれない。
機械語を逆アセンブルするときは、逆順、後ろから読む。
そして、終わったら前から順次読む。
本を読む時も同じ。逆から読む。
変かもしれない
人それぞれです、その人に合ったものを選ぶ事が出来れば幸せになります。
自分自身を知って、マッチする方法を選ぶ能力を養う
これが幸せへの法則かもしれません。





117 名前:デフォルトの名無しさん [2009/03/06(金) 15:52:32 ]
数値入力で1〜9999の範囲内で入力してくださいという
プログラムで範囲外だとエラー文を表示するのですが、
long型のオーバーフローする値(4294967296)を打ち込むと
入力エラーにならず読み込んでしまいます。
どういった対策をすればよいのでしょうか?
ちなみにint型で定義してあります。

118 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 15:53:13 ]
コードは?

119 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 15:53:40 ]
>>117
doubleで読み込めば

120 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 16:41:16 ]
>117
入力部分と、保持する数値とを分離するとか。

>119
現実的にはともかく、理論的には変わんなくね? そうでもない?

121 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 16:45:22 ]
string に読み込んで桁数判定した後数値変換するとか。

122 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 16:53:07 ]
>>117
そういう時のscanf

123 名前:デフォルトの名無しさん [2009/03/06(金) 18:15:57 ]
scanfを恥ずかしげもなく使う男の人って。。。



124 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 18:17:48 ]
男女以前にプログラマとしてどうか

125 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 18:18:29 ]
別に普通

126 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 18:45:28 ]
int64整数の補数をint32|int16へ最大値切り詰めにしても余剰bit切り捨てにしても
1〜9999条件なら 4294967296 (0x1 0000 0000)は弾いてくれると思うが
如何か

127 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 19:27:15 ]
strtol を使えば大きすぎるのを入れたときはLONG_MAXになるから弾けるよ

128 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 19:35:05 ]
>>126
弾けるのは4294967296とか、一部じゃないかw

129 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:33:28 ]
キャストの弊害や精度不足の問題なら対処のしようがあるが
もしも 117 の不具合症状を含むライブラリや CPU が有るようなら大問題
概念的指摘ならば問題はないが数字を出して上手くいかないと主張するなら
実行環境を示して頂きたい。

130 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:53:18 ]
バカは黙ってろw

131 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:54:39 ]
>>117
>ちなみにint型で定義してあります。
といっているが、そもそもオーバフローする値が入力できるんだから元は
文字列とかint以外の値でしかありえない
それをintに変換した後ではじくのは不可能

面倒くさくても地道にやるしかない

1) 文字列のまま取得
2) 前後の空白とかとる
3) 数値以外のものがあったらエラー
4) 先頭の0を削除
5) 5桁以上ならエラー
6) 空文字列なら0
7) 整数変換
とか、まあがんばれ

132 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 22:31:45 ]
まぁ、strtol()を使えば変換終了点が得られるからそこをチェックすれば事が足りるな。

133 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:18:09 ]
ポインタは俺の理解を超えてやがる・・・・!!!



134 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 07:38:06 ]
>>133
どうしたw突然何があった。
…まあ状況次第ではある意味大半の人の理解を超えているよ。

135 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 07:48:07 ]
自分で組むだけなら、Cは良い言語だと心から言えるが、
他人のソースを読むと微妙な気分になる。
C++はまあまあ良い言語だが、他人のソースは
くそったれと思う。

って事かな?

136 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 08:22:39 ]
俺は自分のソース見てくそったれと思う
もっときれいに書けないのかよ昔の俺

137 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 08:26:16 ]
それはあなたの進化の証。

138 名前:デフォルトの名無しさん [2009/03/07(土) 12:04:25 ]
ソースなんて動けばいいよ。動くことが見た目に判ればそれでいい。

139 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 13:45:17 ]
ポインタを解りやすく解説してくれるC++のサイト教えてください・・・
ロベール先生すいません
あなたの説明は僕の理解を超えている

140 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 13:47:43 ]
>>139
適当な本を買った方がいいよ。
サイトは限界があると思う。
…そしてアドレスとポインタが分からないならロベール先生のせいじゃなくてまだC++に入るほどの腕じゃないと言うことだからC言語の本が良いと思うよ。

141 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:02:08 ]
アセンブラやればポインタはわかる。
なのでPCプログラミングより8bitマイコンでも触るのお勧め。

ポインタが判らないという事はメモリマップとかスタックイメージも
脳内に浮かんでいないのは確実な訳で、それは計算機の知識が決定的に
欠けてる訳で、ってことはC/HWに限らずJVMやCLRも理解できない訳だから
一番見通しのいい低レベルハードウェアを触って身に付けるといいと思う。

142 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:39:23 ]
>>141
あっそ。

143 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:53:10 ]
#include <iostream.h>/*ロベール教室より*/

void ChangeToShohwa(int x)
{
if(1926 < x && x < 1989)
x -= 1925;
else
x = 0;
}

void Shohwa()
{
int nYear;

cout << "西暦を入力して下さい > ";
cin >> nYear;

ChangeToShohwa(nYear);
if(nYear)
cout << "その年は昭和 " << nYear
<< " 年です。" << endl;
else
cout << "その年は昭和ではありません。" << endl;
}

int main()
{
Shohwa();
Shohwa();
return 0;
}
なぜこれで失敗するのかが理解できない・・あほでごめんなさい



144 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:07:32 ]
>>143
www7b.biglobe.ne.jp/~robe/cpphtml/html01/cpp01034.html
>

普通に理由が書かれてるじゃん。

145 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:08:00 ]
>>144
手滑った

www7b.biglobe.ne.jp/~robe/cpphtml/html01/cpp01034.html
>引数は、新たに変数が作られ、それに値が代入されるという仕組みになっているからです。

146 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:17:51 ]
>>142 何か気に障るようなこと言ったか?

147 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:20:35 ]
ポインターは簡単、ポインターの解説が難しい。 上手に説明できたら天才。

148 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:33:45 ]
つまり、なんだかんだでnYearの値が変更できないってこと・?

149 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:46:37 ]
なんだかんだというかそのやり方だとnYearがこぴってわたされて
そのこぴったのを変更しているだけ

150 名前:142 mailto:sage [2009/03/07(土) 16:14:00 ]
>>146
…俺の深読み誤解か。
スマン。

151 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 17:55:04 ]
>>147
ポインターのような人間には解りづらく、そして機械に都合のいいように作られたものの使用を強制する言語はダメポ言語
普通は人間に合わせて言語が作られるべきだろ

152 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:16:59 ]
ポインターは日本語に似合う。皆は知らぬうちに日本語会話の中でポインターを使っている。

153 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:33:00 ]
>>151の考える素晴らしい言語のソースも、
ポインターを駆使して記述されています。



154 名前:デフォルトの名無しさん [2009/03/07(土) 18:47:53 ]
ボイン太さいこー!

155 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:01:39 ]
>>152
This is it.

156 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:11:01 ]
int **(*i[10])[4]
int (*i())[6]
int *(*(*i)())[4]
数秒以内にポインタiが何を指しているのか理解できないと
Cの初歩にすら達してないと言われた
お前らなら、一目瞭然で数秒どころか一瞬だろ

157 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:19:29 ]
>>156
実際そんな使い方はまったくしない。
一目でわかりやすい宣言をするのが上級者。

158 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:25:03 ]
実際は使わないが、錬度を試す訓練だよ

159 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:30:04 ]
数秒でわかったらすごいわ
俺の場合、特に最後は()の解析で時間かかるぞ

160 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:33:59 ]
そこに至るまでのコード次第
いきなり 156 が現れたら 書いた奴の精神状態を疑う。

161 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:59:17 ]
>>159
俺、今でも数秒では無理だが、宣言をすらすらと解析できないとなると程度しれるよな
まだまだ初級のおれがちょっと前に新人にこのp何さしてるのって聞かれたのがこれ
int (CC::*(p[3]))(void);
これぐらいなら頻繁に使うだろうし、ム板連中なら一瞬だろ
ちなみに>>156は会社の新人PGのC言語コースの理解度試験

162 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:12:25 ]
頻繁に使うか?
俺だったらまずtypedefするが…

163 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:24:13 ]
爆釣



164 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:24:22 ]
>>162
どういう風にtypedefするんだ?

165 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:28:02 ]
mist000.h18.ru/debug.cpp
メンバーイニシャライザを使用したコンストラクタをクラス定義の外に分離したいんだが、
g++でコンパイルするとこのようなエラーが出る。
--------------------------------------------------------
uha@seven:~/dev/uhaww$ g++ -Wall -o debug debug.cpp
debug.cpp: In constructor ‘TestException::TestException(std::string&)’:
debug.cpp:8: error: ‘sCause’ was not declared in this scope
debug.cpp:8: error: expected `{' at end of input
debug.cpp: At global scope:
debug.cpp:10: error: redefinition of ‘TestException::TestException(std::string&)’
debug.cpp:8: error: ‘TestException::TestException(std::string&)’ previously defined here
--------------------------------------------------------
分離すること自体考えてはいけないのだろうか...
メンバーイニシャライザ使わなければ分離できるのに。。

間違いがあればよろしくお願いします。


166 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:28:56 ]
>>162
まさか typedef int (CC::*(p[3]))(void)
なんて言わないよな
int (CC::*(p[3]))(void)が何をあらわすのか、解りやすくするtypedef頼むよ

167 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:29:28 ]
実はほとんど俺の自作自演

>>164
typedef int (CC::*ccpoint)(void);
ccpoint p[3];
こんな感じにするんじゃね?

168 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:34:07 ]
2ちゃんねる株式会社ではよく使います。

実際はベテランほど保守性を考慮して単純に書く。
Cの設計者でさえシンプルに書けと言ってるのに、
何を勘違いしてるんだろね。

169 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:38:15 ]
むずかしっすぎる!

170 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:46:27 ]
int (CC::*(p[3]))(void);
が頻繁に出てくるようでは駄目だと思うわ

171 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:57:19 ]
Visual C++ 2008 Express Editionの使い方がよくわかりません。

講座サイトの解説で使ってるVisual C++はちょっと違って
現在編集中のプログラムを実行する方法がわかりません。

ご教授よろしくお願いします。

172 名前:165 mailto:sage [2009/03/07(土) 21:01:49 ]
お騒がせしました、自己解決しました。

173 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:13:57 ]
>>171
F1を押してヘルプを読め



174 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:18:57 ]
>>171
スレ違いだろ

175 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:19:31 ]
int (CC::*(p[3]))(void)のpって何を指す
日本語で書いてくれ

176 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:21:16 ]
pは、配列です。何の配列かと言うと・・・次の人、どうぞ

177 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:22:20 ]
パス!

178 名前:175 mailto:sage [2009/03/07(土) 21:26:55 ]
あと、>>156
int **(*i[10])[4]
int (*i())[6]
int *(*(*i)())[4]
のiも頼む

179 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:34:36 ]
もしかして、voidさん入店されてはります?

180 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:40:12 ]
全然わからんw
1番目は多次元配列っぽくて、
2番目と3番目は関数ポインタの配列っぽいれすか?
あと>>161はメンバ関数へのポインタっぽい?

答えをたのむぅ。

181 名前:デフォルトの名無しさん [2009/03/07(土) 21:48:22 ]
実際のコードで、こんなの使っちゃダメだが、
Cの文法の知識として、本当におまえら、読めないのか?

javaばっかやってるから、バカになる

182 名前:175 mailto:sage [2009/03/07(土) 21:52:00 ]
>>180
俺と似たような,orzレベルだな

色々レスしてる人たちって解ってるんでしょ、なら教えてくださいなーーーー

183 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 22:02:29 ]
>>181
本当に読めないので、ぜひ、答えを



184 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 22:51:56 ]
int **(*i[10])[4];
( ((int[10])へのポインタ)[4] )へのポインタ ×2

int (*i())[6];
(int f()のような関数へのポインタ)[4]

int *(*(*i)())[4]
( (int *f()のような関数へのポインタ)[4] )へのポインタ

ということでいいのか?

185 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 00:00:32 ]
C言語パズルです、みたいなノリで出されるなら喜んでやるかも。

186 名前:180 mailto:sage [2009/03/08(日) 00:09:44 ]
1番目は「二次元配列へのポインタ」のポインタのポインタとなる要素数10の変数i。
2番目は二次元配列を戻り値とする関数i。
3番目は「関数ポインタを格納する二次元配列へのポインタ」へのポインタ。

わからーんw

187 名前:180 mailto:sage [2009/03/08(日) 00:50:52 ]
んー。一番目はいきなり間違いだな。
1番目は「二次元配列へのポインタ」のポインタのポインタとなる要素数10の変数iだとすると
int *(**i[10])[4]; と書く必要があるようだ。わからん・・・。答えはまだか。

188 名前:デフォルトの名無しさん [2009/03/08(日) 01:11:50 ]
int **(*i[10])[4]
intへのポインタのポインタの配列へのポインタの配列

int (*i())[6]
intへの配列へのポインタを返す関数

int *(*(*i)())[4]
intへのポインタの配列へのポインタを返す関数へのポインタ

189 名前:180 mailto:sage [2009/03/08(日) 01:21:47 ]
なるほど、int **(*i[10])[4]の最初のint **は納されている型になるのか。
んでもって、(*変数名)[4]が多次元配列へのポインタで、
変数名の後の[10]がその変数の要素数になる、と。

だんだんわかってきた。おもしろい。w

190 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 01:39:49 ]
外側から一つずつ剥がしていく。最初と最後の両側から剥がせるときは、最初を先に剥がす。
剥がしたものが、それぞれ
 int(などの普通の型名)であれば…… 「int」
 * であれば…… 「へのポインタ」
 [N] であれば…… 「の配列」
 (int,int) (など、カッコ内に型名)であれば…… 「が戻り値の型、(int,int)が引数の型である関数」
 MyClass:: であれば…… 「で、MyClassのメンバであるもの」
をつけていく。これで読めるはずだ。英語圏の人は逆向きにやるらしいけど。

191 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 01:45:13 ]
あと、これとは直接関係ない話だが、intへのポインタへのポインタは、intの2次元配列とは別物だからね。
「ポインタ⇔配列」の互換ができるのは、末尾の「〜へのポインタ」「〜の配列」の部分のみ。

だから、ポインタの配列はポインタへのポインタで受けることができるし、2次元配列は配列へのポインタで受けることができるが、
2次元配列をポインタへのポインタで受けるのは不正。

192 名前:デフォルトの名無しさん [2009/03/08(日) 01:51:13 ]
>>190
読めないよ。

int &a
int func<int>()

193 名前:180 mailto:sage [2009/03/08(日) 01:52:14 ]
大変よくわかりました。



194 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 01:56:42 ]
167は正しいの?

195 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 02:07:28 ]
正しいよ。

196 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 02:07:55 ]
>>194 うん

197 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 02:26:30 ]
C言語の宣言の文法は、もうちょっとマシな文法にならんかったの?
標準化するとき、誰からも反対が出なかったのが不思議なくらいだ。
頭がいい人がいっぱい集まってやってるハズなのに。

198 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 03:13:06 ]
これでいいんじゃない?
っていうか、Quizみたいなみょうちくりんな宣言が必要になるプログラムは
そもそもの設計が間違っている気も。

199 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 03:21:05 ]
Cだと、ポインタ型を別に作って欲しかった
後は関数ポインタの宣言を何とかして欲しかったくらいか

>>156をすらすら読み、161みたいなのを頻繁に使うプログラマにはなりたくない
161はtypedefしないらしいし…

200 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 04:01:48 ]
>>199
もし>>156をtypedefを使って分りやすくしてくれと言われたらどのように
typedefする?有る意味typedefの練習になるんじゃないか


201 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 04:15:48 ]
それらが何を意味するものとして使われているのか、それに基づいてtypedefすべきと思う。
例えばchar*をstringとしてtypedefしたり(C++ならstd::stringがあるけど)、単純に置き換えるんじゃなくて
意味が分かるようにしなければ、結局分かりやすくはならないんじゃないか。

202 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 04:37:26 ]
>>201
普通はそうだが、練習なら良いんじゃないか
>>156を見てこれならどうtypedefしたらいいんだろと疑問に思っただけ
>>156は宣言構文解釈による頭の体操って感じかな
頭の体操なら現実では使わないものでも良いんじゃないか

203 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 04:42:15 ]
>>201
つまり、windows.hを批判してるってことですね。



204 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 04:48:18 ]
windows.h のそれは、int32_tとかwchar_tとかが無かった時代の産物としては存在意義があると思う。

205 名前:202 mailto:sage [2009/03/08(日) 04:55:42 ]
>>203
本人のポリシーだから良いんじゃないの
ま、windowする時は、気に入らんでもwindowsの流儀に従ったほうが無難だろな

206 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 05:54:53 ]
windows.hの場合は囲い込んで、移植させにくくしただけだろ。
gcc+Qtでなんも困らん。

207 名前:デフォルトの名無しさん [2009/03/08(日) 09:50:09 ]
俺もstdio.hで十分だわ

208 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 10:16:15 ]
っつか、この世は俺1人で十分だ

209 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 10:29:48 ]
>>208
さっさとジュース買って来い

210 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 11:34:40 ]
つかMSはさっさとstdint.h対応しろと。C99決まってから10年なのに
何をしているのかと。

211 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 20:47:58 ]
#include <iostream>
using namespace std;
#include <math.h>
#include <stdio.h>

void ChangeToShohwa(int x)
{
if(1926 < x && x <1989)
x -=1925;
else
x = 0;
}
int main()
{
int x;
ChangeToShohwa(x);
if
printf("昭和%d年ですよ",x);
else
cout<<"昭和じゃないです"<<endl;
}
: error C2061: 構文エラー : 識別子 'printf'
: error C2181: else 文が if と一致しません。

212 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 20:51:56 ]
教えてください。
お師匠

213 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 21:03:52 ]
>>212
それコンパイラか頭のバグ
コンパイラ何? 頭は何?



214 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 21:06:59 ]
>>211
ifだけじゃだめだろ
この場合if(x)かな?
他もひどすぎて、思ったとおりには実行されないと思うが

215 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 21:08:52 ]
>>213
VIsual C++ 2008

頭・・?






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

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

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