前提・実現したいこと
char * str[] = {"aaa", "bbb", "ccc", "ddd"};
という宣言・初期化された配列strをつかって、
AAA
BBB
CCC
DDD
と表示させたい。
(toupper使用)
試したこと
c
1#include <stdio.h> 2#include <ctype.h> 3 4int main() 5{ 6 char * str[] = {"aaa", "bbb", "ccc", "ddd"}; 7 int i; 8 9 for (i = 0; str[i] != '\0'; i++){ 10 *str[i] = toupper(*str[i]); 11 printf("%s", str); 12 printf("\n"); 13 } 14 15 return 0; 16}
上のようなプログラムを作成してみたら、セグメントエラーでした。
私の考えだと、宣言したものが変更不可能であるためセグメントエラーがでたのかなと思います。
宣言・初期化は上のものを使用して、大文字にさせるプログラムをぜひ教えてください。