C言語 小文字を大文字に変換する処理

先ほども似たような質問をしたのですが、情報不足と投げやり感が否めなかったので再度質問させていただきます。
大学の課題で、小文字を大文字に変換せよというものが出されたのですが、全く理解できず困り果てています。
まずは配られたひな形をご覧ください。

#include <stdio.h>

int main(void)

{

char name_komoji[] = {}; //*ここに任意のASCIIの小文字にあたる数値を入力する char name_oomoji[100]; int i; i = 0; while (name_komoji[i] != 0) // 「!= 0」は省略可 {

//ここに小文字を大文字に変換する処理を書く//
i++;

} name_oomoji[i] = 0; // '\0'と書いてもよい printf("%s\n", name_komoji); printf("%s\n", name_oomoji); return 0;

}

上記が配布されたものです。

私自身、小文字を大文字に変換する処理に name_oomoji[i]=i-32 などとしてみましたが、実行しても小文字しか表示されなかったり、文字化けしたりしてしまいました。
32を引いたり足したりすることは理解しているのですが、その処理をどう書けばよいのか分かりません。
また、任意の小文字を入力する箇所に空白として32を打ち込んだ場合は、-32とすると0となってしまうのですがどうすればよいでしょうか。
回答のほどよろしくお願いします。

コメントを投稿

0 コメント