質問: ``` #include void print_kaigyo(int n, char s); int main(void) { char item[100]; int num; printf("何文字入力しますか?"); scanf("%d", &num);//char型は&いらない printf("文字列: "); scanf("%s", item); print_kaigyo(num, *item); return 0; } void print_kaigyo(int n, char s) { if (n>1 && n<100) { //ここの記述が分からない puts("ok"); }else{ printf("メモリの確保が出来ません\n"); } } ``` **やりたいこと** ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/821a4a1bfa0a8f17d050053d897c830d.jpeg) 例)AbcGakuinUniversity 変換後 Abc Gakuin University となるようにしたい。
回答: まず、その穴埋めでは無理です > > void print_kaigyo(int n, char s); > > > `char s`では一文字しか渡していません。 ざっくり実装すると ``` void print_kaigyo(int n, const char *s) { if(n < 0){ puts("文字数が不正です"); return; } for(; n > 0 && *s != '\0'; n--, s++){ printf(*s >='A' && *s <= 'Z' ? "\n%c" : "%c" , *s); } } ``` こんな感じ