C语言字符 串注意事项

下面这段代码是可以正常运行的

#include 
#include 

int main()
{
     
   char str[80];

   sprintf(str, "Pi 的值 = %f", M_PI);
   puts(str);
   
   return(0);
}

换成下面这种方式就不行了

#include 
#include 

int main()
{
     
   char* str;

   sprintf(str, "Pi 的值 = %f", M_PI);
   puts(str);
   
   return(0);
}

再换成下面这样又可以了

#include 
#include 

int main()
{
     
   char* str = (char*)malloc(20);

   sprintf(str, "Pi 的值 = %f", M_PI);
   puts(str);
   
   return(0);
}

你可能感兴趣的:(C语言,c语言,开发语言,后端)