2016-09-30 8 views
-3
for (i = 0; i < 52; i++) { 
    ascii_characters[i] = x; 
    x++; 
} 

for (i = 0; i < 52; i++) { 
    printf("%c\n", ascii_characters[i]); 
} 

すべてのアルファベットを配列に保存します。Cですべてのアスキー文字を保存するにはどうすればよいですか?

私のコードで行ったことは、65から122までのすべてのascii値を格納していることです。 したがって、すべての値が配列に格納されています。しかし、私は91から96の間の値をスキップしたいと思います。

+1

"コードスクリーンショット"。どのように質問をしないか。ところで、stackoverflowへようこそ。画像ではなくポストのコードを追加して質問を編集したいと思うでしょう。 – blue112

+0

91から96までの値を「すべてのASCII文字を格納する」と一致させる方法は?その点で、65未満のコードまたは123〜127の文字をスキップする方法はありますか? –

+2

関数 'isalpha'を知っていますか?それはあなたを助けることができます:[man isalpha](https://linux.die.net/man/3/isalnum) – purplepsycho

答えて

1

大文字と小文字を保存する場合は、インクリメントするたびに別々にその文字をチェックする必要があります。 Aで始まる場合は、Zを超えると、すぐにaになります。

char x = 'A'; 
for (i = 0; i < 52; i++) { 
    ascii_characters[i] = x; 
    if (x == 'Z') { 
     x = 'a'; 
    } else { 
     x++; 
    } 
} 
+0

疑いを明確にしていただきありがとうございます。 –

3
int i = 0; 
char c; 
for (c = 'A'; c <= 'Z'; c++) { 
    ascii_characters[i++] = c; 
} 

for (c = 'a'; c <= 'z'; c++) { 
    ascii_characters[i++] = c; 
} 
関連する問題