前提・実現したいこと
下記のコードの仕組みが分からないので教えていただきたいです
該当のソースコード
#include <stdio.h> int main(void) { char *cp[] = {"New Game", "Load", "Gallery", "Exit", NULL}; char **cpp; cpp = cp; //配列表示用関数 printf("char *cp[] = {\"New Game\", \"Load\", \"CG Gallery\", \"Exit\", NULL}\n"); printf("%s\n", cp[2]); printf("%s\n", *(cp+1)); //ここと printf("%s\n", *(cpp+1)); //ここの結果が同じになる理由 printf("%c\n", *(*(cpp+1)+2)); //ここも曖昧 return 0; }
実行結果
char *cp[] = {"New Game", "Load", "CG Gallery", "Exit", NULL} Gallery Load Load a
試したこと
printf("%s\n", *(cp+1)); から printf("%s\n", cp+1); に変更
###結果
res.c:10:17: warning: format specifies type 'char *' but the argument has type 'char **' [-Wformat] printf("%s\n", cp+1); ~~ ^~~~ 1 warning generated.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/11/09 01:39