演算で異なるデータ型が衝突した場合、その式の中で入る範囲が広い方のデータ型に変換されるんです。char※ただし、広い方の型に入らなければさらに広い型に変換されることもあります。//実行結果:30.000000上の例ではint型のnumをfloat型にキャストして表示させています。こんな風に「(型)値」と書けば、明示的な型変換が出来ます。ここでいくつか注意点。実行結果:65535という具合に、-1→1のようにはなりません。short型の範囲ギリギリの値になっているのにお気づきでしょうか?ビット演算で算出されるからこういった結果になるんです。面白いですよね!詳しい解説は下のページがわかりやすくて参考になるかと思いますので丸投げします。実行結果:4狙ってやったのなら構わないのですが、浮動小数点数を整数にキャストすると、小数点以下は切り捨てられます。実行結果:-35型の範囲を超えた値を代入すると、桁あふれ(オーバーフロー)が起こります。あふれた分の上位ビットは切り捨てられ、残った分がビット演算で算出されます。a);scanf()関数ってあったなーってなってしみじみ。)そしてこれが、文字列の入力受付になると、↓みたいになります。文字列は配列として変数に格納されているので、配列として変数を用意。a);「ん?&aじゃないの?」って疑問に思われたかと予想するのですが、理由の方は後日ポインタやる時にでも。引数){...}」っていう形なんですが、C言語だと、関数名の前には、「return」で返す値に伴って異なった変数型が付きます。メイン関数に使っていた「void」って実は何も返さないっていう意味だったりします。(javascriptにも一応void演算子あります。aタグのリンクを無効化するのに、「href=”javascript:void(0)”」みたいなことするみたいです。)それから、関数は、main()関数の後に記述する場合、main()関数の前にプロトタイプ宣言というのをする必要があります。これは変数が関数はじめで宣言しなくちゃいけないのと同じようなものだと思います。{printf("--------------------------------\n");}また、main()関数前に関数の記述を済ませてしまえば、プロトタイプ宣言はいりません。C++だったりします。「なんか名前的にかっこいい!」というのと、たまたま何かで見かけたページが、C++のこと紹介していたからだった気がします。(安直というか、なんというか)それで始めたプログラミングで、まあ、まず環境構築でつっかかって、その次に、何とか動かせた後、「main()はプロジェクト毎に1つしかダメよ!」っていうの知らなくて、(どこかで見た誰かの解説の中の例えでmain()が同じプロジェクトに2つというのは、1つのPCにOSが2つみたいな感じってなコメントがあった気がします)、同じプロジェクト内にmain()2つ作って動かなくて死ぬほど混乱して「どうしたらいいのわかんないようわーん!」って感じで確か最初が一番(暗中模索の不安感と困惑具合という意味で)大変でした。いう、よくわかってないながら、何かあればいちいち何か動かす喜びと興奮はなかなか得難い体験でした。(あそこまでいちいち喜怒哀楽してる人はいるのかどうか...多分少数だと思いますよ)その経験がこうやって、後々のことにつながっていたりするので、(押しつけがましい勝手な思いかもしれませんが)、何かを始めてみる時に、(法に触れたり人に害を及ぼすようなよっぽどのことは別として!)とりあえず一歩踏み出して、実際にその何かに触れてみて欲しかったりします。C++(以外でもphina.jsやJavaScriptや、多少わかるHTML、CSS、PHP、Processing、Perl)の事でわからなくて困っていることがある方には、できる限り、(環境構築からわかりません!でもOK)ヘボプログラマーな私、ほろほろりでよろしければ、手助けさせていただきたかったりします。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。twitterfeed当ブログと管理人についてはをご覧ください。twitterfeed。