fc2ブログ

今日は調子がいいんでもう一本いってみよー

はい!

というわけでもう一本C言語の実験についてお話したいと思います
今回のテーマはcahr(キャラ)型が記憶できる文字変数の上限についてです
まずは下記ソースをご覧ください

/*こっからソース*/

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  char str[] = "145";
  int suuti = atoi(str);
  printf("%d\n",suuti);
  return 0;
}

苦より


実行結果
145

今回はatoi関数を使うのに必要な擬似命令<stdlib.h>を

インクルードしています

 

ふーん・・・

なんとなくatoi関数の特徴はわかりました

ちなみにatoiのiはint型から来ているようですその証拠にatoiのiをfに変えると

実数でも変換が可能になります

ですがここでひとつ面白実験をしてみたいと思いました
数字の145をatoi関数で数値に変換しているのであれば

この145の数字(文字変数)をそのまま数値として代入させて表示してやると

どのような結果になるのだろうか?

ということです(注意*本当はやってはいけません)

以下実験

#include<stdio.h>
#include<stdlib.h>/*ぶっちゃけ今回これいりません*/

int main(void)

{
 char str[]="145";
 int suuti=str[0];
 printf("%d\n",suuti);
 fflush(stdin);
 getchar();
 return 0;
}

実行結果

49

あらららら・・・

入力した数字がそのまま表示されませんでしたね

これで一つわかりました

この49と言う数値は145の1だけの数値だということです

なぜなら文字コードでいえば0は48・・・

となると1は49です

つまりchar(キャラ)型には記憶できる文字変数は1つだけ

ということです

C言語には文字列を記憶できる変数はありません

ですが文字変数となれば記憶できるということを

体現した実験でした



コメント

No title

コメントの時間表示テストです
コメントの投稿
管理者にだけ表示を許可する

トラックバックURL