下から6行目、7行目辺りのstrcpy,strcatの中身の考え方を教えていただきたいです。
表示結果は、
文字列1:
文字列2:
"zに%s+%s+1文字分のメモリを割り当てます。
文字列1+文字列2/連結させる/
と表示されるようにしたいです。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
int i,num1,num2;
char x[101],y[101],z;
printf("文字列1:");
scanf("%s",x);
printf("文字列2:");
scanf("%s",y);
num1 = strlen(x);
num2 = strlen(y);
/xとyの文字列を連結して格納するのに必要十分なバイト数のメモリをzに割り当てる↓/
printf("zに%s+%s+1文字分のメモリを割り当てます。\n",num1,num2);
z = (char) malloc (sizeof(char)*(num1+num2+1));
if(!z){
printf("メモリを確保できませんでした\n");
return 1;
}
z[0] = '\0';
strcpy();/文字列をコピーする関数の呼び出し(引数のうちいずれかをxとする)/
strcat();/文字列を連結する関数の呼び出し(引数のうちいずれかをyとする)/
printf("%s\n",z);
free(z);
return 0;
}
回答2件
あなたの回答
tips
プレビュー