以下の文は入力した文字を大文字または、小文字に変換されます。
なぜですか?
またchに代入しているgetchar()は引き算など行ったとして返り値は何になるんですか?
コード
#include <stdio.h>
int mani(){
char ch;
while((ch = getchar()) != EOF ){
if(ch >= 97 && ch <= 122){
printf("%c",ch-32);
}else if(ch >= 65 && ch <= 90){
printf("%c",ch+32);
}
}
}
https://www.k-cube.co.jp/wakaba/server/ascii_code.html
A に割り当てられているのは上の表の通り 65 です。
a は 97 です。
どのように計算したら 65 を 97 に、また 97 を 65 にできるでしょうか?
(そのコードをどこから引っ張ってきたのかわかりませんが,その場所に相応の説明は無いんですかね?)
コードはマークダウンのコードブロックで記述してください。今のままだと読みにくいです。https://teratail.com/questions/238564
> 32を引けば大文字、32を引けば小文字になる理由がわかりません。
これは驚いた。
足し算と引き算の区別も計算もできない人か。
97 - 32 = 65
Qiita にも同様の投稿をしていますね?
https://qiita.com/dekopinvar1/questions/a26556438f25d9bad679
Teratail ではマルチポストは推奨されません。
https://teratail.com/help#posted-otherservice
ただちに規約違反ということにはなりませんが、一般的にも無礼な振る舞いと考えられています。
既に別の場所で回答されている内容と重複する回答をあらためて書くのは無意味な手間だからです。
どうしてもマルチポストが必要なのであれば他にどこに投稿したのかを明示する、解決したのであれば他のサイトへの投稿もクローズするといった手順は守ってください。
回答3件
あなたの回答
tips
プレビュー