C言語のポインタのポインタを用いた文字列の書き込み、表示についてご教授ください。
以下のコードを走らせてみると実行結果のそれぞれの文字列の末尾に「4文字だと[タ]」などの様々な文字がつくことがあります。
これらは一体何で、なぜ表示されてしまってるのかいまいち理解できていません。
どうかよろしくお願いします。
C言語
1#include <stdlib.h> 2#include <string.h> 3#include <stdio.h> 4 5int main() 6{ 7 char *pstr[5]; 8 char str[100]; 9 int i,j,l; 10 for (i = 0; i < 5; i++) 11 { 12 printf("Input Name"); 13 scanf("%s", str); 14 pstr[i] = (char *)malloc(sizeof(char) * (strlen(str) + 1)); 15 l=strlen(str); 16 for(j=0;j<l;j++){ 17 printf("%c\n",str[j]); 18 *(*(pstr+i)+j) = str[j]; 19 } 20 } 21 for (i = 0; i < 5; i++) 22 { 23 printf("%s\n", pstr[i]); 24 } 25} 26
Objective-C は C とは別の言語なので、C のタグを使ってください。
https://teratail.com/tags/C
