Cの簡単なプログラムで文字列をprintfにて出力しようとしていますが
printf実行直前までは正しく要素が格納されていますが、実行すると中身が変わってしまいます。
実行環境
Windows10 Pro
VisualStudio2019 community
c++ コンソールプログラム
c
1#include<stdio.h> 2#include <string.h> 3 4void PrintHello(int); 5 6char* GetPrintStr(int); 7 8int main(void) 9{ 10 int flg = 1; 11 char* printStr = NULL; 12 13 char str1[20] = "Hello World !!"; 14 15 printStr = GetPrintStr(flg); 16 17 printf("%s\n", printStr); 18 19 return 0; 20} 21 22char* GetPrintStr(int flg) 23{ 24 char printStr[50]; 25 26 char str1[20] = "Hello World !!"; 27 char str2[20] = "Hello Everyone !!"; 28 29 if (flg == 1) 30 { 31 strcpy(printStr, str1); 32 } 33 else 34 { 35 strcpy(printStr, str2); 36 } 37 38 return printStr; 39}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。