4

「Learn C on the Mac」という本を勉強しています。char データ型を 1 バイト データ型として定義します。char データ型の変数は 5000 などの整数を保持できないということですか? 私はこれに混乱しています。この本には、変数のデータ型をcharとして割り当て、変数に5000を割り当てるサンプルプログラムがあります。これは実際には長さ 5000 の文字列です。例: (文字評価[5000];)。char は ascii セットまたは数値しか保持できないと思いましたか? 申し訳ありませんが、私はプログラミングにかなり慣れていません。

4

4 に答える 4

-1

char データ型を 1 バイト データ型として。char データ型の変数は 5000 などの整数を保持できないということですか?

Charは文字を指します。ご存じのとおり、char変数は 1 バイトのスペースを保持します。したがって、正確に 1 つの数字または1 つの文字を保持できます。それ以上でもそれ以下でもありません。Char値は 1 文字の値です。

つまり、char データ型の変数は5000 などの整数を保持できません。コンピューターのメモリに十分なスペースがありません。複数の文字を含む値を入力した場合 (例: 5000)、最初の文字のみが受け入れられます。charこのようなデータを変数にフィードすることはできません。


このプログラムを使用して、理解を深めてください。

#include <stdio.h>

main()
{
    char s;
    scanf("%c", &s);
    printf("%c", s);
    return (0);   
}

5000 と入力してみて、プログラムが出力として何を出力するかを観察してください。


char変数に 5000 を指定して、変数のデータ型を として割り当てるサンプル プログラム。これは実際には長さ 5000 の文字列です。例: (文字評価[5000];)。

ご存じないかもしれませんが、文字列char(つまり文字) の配列です。char rating[5000]文字列データ型を宣言しています。5000の文字列、つまり 5000 文字の長ratingさの文字列として定義されます。ただし、値 5000 で初期化していません。間違った解釈:むしろ、のサイズを と宣言していますcharratingchar rating='5000' rating5000


char はアスキー セットまたは数値しか保持できないと思っていました。

はい、アスキー部分については正しいです。char 変数は、いつでも任意の 1 つのascii 値を保持できます。文字、数字、および記号は、ASCII セットを構成します。ただし、数値はこの範疇には入りません。数値は大きさであり、必ずしも 1 桁で構成されるとは限りません。数字(つまり、0 から 9 までの数字) が正しい用語です。


要約すると、文字/アルファベットまたは数字/数字charの値を格納できるデータ型です。文字は のグループです。' a ' または ' 1 ' はデータにすることができますが、またははできません。文字のグループを変数に格納するには、string を使用します。あなたの人生を楽にするために、これらの簡単な事実を覚えておいてください。charchar

于 2015-07-06T10:00:16.930 に答える