きのうのプログラムを修正してみた
auです。
今回はきのうのプログラムを修正しました。
#include <stdio.h> #include <string.h> int main(void) { char s_word[] = "abcdefghijklmnopqrstupvwxyz"; char b_word[] = "ABCDEFGHIJKLMNOPQRSTUPVWXYZ"; char word[30]; char n_word[30]; int number = 0; printf("大文字にする(空白なし): "); scanf("%[^\n]", word); for (int i = 0; word[i] != NULL; i++) { n_word[i] = word[i]; for (int j = 0; j < 26; j++) { if (word[i] == s_word[j]) { n_word[i] = b_word[j]; break; } } } printf("%s\n", n_word); return 0; } // 実行結果 大文字にする(空白なし): hello world. i am au HELLO WORLD. I AM AU
scanfの\n(改行)を除くように処理をすると、空白もちゃんと読んでくれました。