如图 在网上的模拟运行器中可以运行,但在命令控制符中运行出现错误,不知道谁能帮我看一下<br>甚么让你对C/C++如此恐惧?晦涩的语法?还是优秀IDE的欠缺?...本篇,试图简略地剖析1段会引发这个毛病的程序,带来1些启发。先看两份代码,1份是毛病的.毛病代码#include "string.h"#include #include void fu...<br>甚么让你对C/C++如此恐惧?<br>晦涩的语法?还是优秀IDE的欠缺?<br>我想那都不是问题,最多的多是1个类似这样的毛病:<br>段毛病(Segmentation fault)<br>这是新手没法避免的毛病,也是老手极力躲避也常常遇到的毛病。<br>本篇,试图简略地剖析1段会引发这个毛病的程序,带来1些启发。<br>先看两份代码,1份是毛病的.<br>毛病代码<br>#include "string.h"<br>#include<br>#include<br>void func1(char ** dest,char * src,int n) {<br>(*dest) = (char*)malloc(sizeof(char)*n);<br>strcpy(*dest,src);<br>}<br>int main(int argc,char** args) {<br>char ** p = NULL;<br>char str[] = "foreach_break";<br>int len = sizeof(str);<br>printf("%d<br>",len);<br>func1(p,str,len);<br>printf("%s<br>",*p);<br>free(p);<br>p = NULL;<br>}<br>正确代码<br>#include "stdio.h"<br>#include "string.h"<br>#include "stdlib.h"<br>void func1(char ** dest,char * src,int n) {<br>(*dest) = (char*)malloc(sizeof(char)*n);<br>strcpy(*dest,src);<br>}<br>int main(int argc,char** args) {<br>char * p = NULL;<br>