Cでの質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kanto
記事: 3
登録日時: 6年前
住所: 福井

Cでの質問です

#1

投稿記事 by kanto » 6年前

Cでの質問です
char型で入力した1文字をprintf("%d",a)で表示するのですが
考え方が全くわかりません
教えていただけると助かります

non
記事: 1097
登録日時: 8年前

Re: Cでの質問です

#2

投稿記事 by non » 6年前

うまく行かないプログラムを添付してください。
non

nil
記事: 428
登録日時: 7年前

Re: Cでの質問です

#3

投稿記事 by nil » 6年前

何がわからないのかもはっきりと書き込むべきです。
読み込むことがわからないのですか?
表示することがわからないのですか?

char型の書式指定子は%cです。
読み込んだ文字を数字として表示するのであればそれで構いませんが。

アバター
てんむすキツネ
記事: 88
登録日時: 8年前
住所: 岡山

Re: Cでの質問です

#4

投稿記事 by てんむすキツネ » 6年前

考え方がわからないということは
まだ実際にプログラムを組んだわけでは無いのでしょうか?
一度フォーラムルールを見ておくと
的確な質問がしやすいかもしれません。

なんの記号がどういう意味であるか説明をすれば良いのでしょうか。
printfは関数というものです。
関数の後にくる()に渡したい情報を与えます。

後、関数の最後には;をつけます。このまま書くとエラーになるでしょう。
この理由は最後に説明します。

printfは
情報を与えると
その内容を表示します。

ここまでは理解されているかと思います。

パソコン内では
'A' も 65 も同じものです。(65だったかどうかは忘れましたが)
AだけでなくBにもCにも対応する数字があります。

%dというのは
「整数型で、与えられた情報を表示しますよ」
という意味です。

%cは
「文字として、与えられた情報を表示しますよ」
という意味になります。

,の右に置くのが
「その%~で表示するもの」
です。

printf( "%d" , a );
とするとaに代入されている値を
「整数型」(%d)で表示します。

つまり、Aという文字がaの中身であるなら
画面には
65
と表示されることになります。

ここで皆様が言われている
charは%cと言われているのは
%dのままでは数字が表示されてしまい
aの中身を文字として表示することはできませんよ
という意味です。

また"%d"の" "についてですが
これはその中が文字列であることを表します。

変数というものはご存知だと思います。
そこに「apple」という変数があったとします。
しかし、そのappleとは関係なく
まったく別の処理として
画面にappleと表示しようとしたとします。

もし、文字列として認識する" "がなければ
プログラムにおいて
printf( apple );のappleは
変数のappleとしてみなされてしまいます。
それを防ぐためにも" "は必要です。

最後に;を付ける理由ですが
これは関数や、代入といった処理の終わりを指します。
if文などを使う場所までいっていないのなら
とりあえず処理の終わりには;をつける
と覚えておいてください。
例:x = 15;

とても長文になりましたが
望んでいた回答でなかったかもしれません。
また伝わりにくい部分があれば申し訳ございません。
MLP!MLP!

閉鎖

“C言語何でも質問掲示板” へ戻る