実現したいこと
- 2次元の文字列配列を引数としてreturn_string関数に渡す。
- その先で配列に文字列を代入
- main関数に返す
といった上記のことを実現したいと考えています。
main関数にどうすれば、代入した文字列配列をかえすことができるのでしょうか?
下記のようなプログラムで試しているのですが、main関数内で
for(int i = 0; i < n; i++){ printf("%s\n", &ap[i]); ptr++; }
とすれば値が表示されると考えたのですが、うまく表示されませんでした。
プログラム
#include <stdio.h> void return_string(int n, char **ptr); int main(void){ int num = 3; char *ap[3] = {}; return_string(num, ap); //printf("%s\n", &ap); } void return_string(int n, char **ptr) { int i; char a[3][11] = {"1111111","2222222","3333333"}; for(i = 0; i < n; i++){ *ptr = &a[i]; //printf("%s\n", *ptr); ptr++; } }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。