code block 与 vc的区别

程序有错误的,在create函数里,改正之后就可以在VC6里运行了

/*

创建链表,用头插法插入,倒序输出

*/

#include<stdio.h>

#include<stdlib.h>

struct?Node

{

char?data;

struct?Node?*next;

};

struct?Node*?create()

{

char?a;

struct?Node?*head,*p,*q;

head=(struct?Node*)malloc(sizeof(struct?Node));

q->next=NULL;?//这句q没有初始化,就引用了q的next,,应该为q=NULL;

=================================================================

但是错误的程序可以在code blocks里运行但是这样操作确实是有问题的

因为这是q的值是随机的,它指向了未知空间

========================================

其实vc和codeblocks是有区别的

vc在调试之前把未赋值的随机变量赋值为0xcccccccc