質問: int main(){ char init[]="[Wakamatsu]"; /* 初期データ用文字列 */ char *str,*buf,*mou; int n; char input[BUFSIZE]; /* 入力用文字列バッファ */ /* その他の変数を宣言 */ int kazu,mozi; char *p; /* strの初期化を記述する*/ str=init; /* strlen,malloc,strcpyを使いstrにinitの内容のコピーを保持させる */ kazu=strlen(init);/*文字列をコピーするからinit[i]みたいに文字として表記しない。*/printf("kazu=%d\n",kazu); str=(char*)malloc(kazu*sizeof(char)); strcpy(str,init);/*文字列をコピーするからinit[i]みたいに文字として表記しない。*/ while (1) { printf( "%s\n", str ); if( scanf("%d %s", &n, input) != 2 ) break; /* * 処理の内容を記述する */ mozi=strlen(input); buf=(char*)malloc(kazu+2+mozi*sizeof(char)); mou=(char*)malloc(mozi+2*sizeof(char)); // mou[0]='['; // mou[mozi+2]=']'; strncpy(mou,input,mozi+2); mou[0]='['; mou[mozi+2]=']'; printf( "%s\n", mou); } free(str); return 0;
回答: 答えを書くのは簡単なのですが、まずコンパイラからのエラーが出ているはず。 このエラーを読み解かないと勉強にならないのじゃないかな?