c++编程,在编译时没问题,运行时,输入数据之后,程序就会弹出对话框“程序已停止工作”,为什么?

#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
struct note
{
int data;
note *next;
};
int main()
{
note *q,*p,*head,*t;
int a,n;
scanf("%d",&n);
head=NULL;
for(int i=1;i<=n;i++)
{
scanf("%d",&a);
p=(note *)malloc(sizeof(note));
p->data=a;
p->next=NULL;
if(head=NULL)
{
head=p;
}
else
{
q->next=p;
}
q=p;
}
t=head;
while(t!=NULL)
{
printf("%d",t->data);
t=t->next;
}
return 0;
}

第1个回答  2017-07-18
if(head==NULL)
{
head=p;
}
错在双等号表示等于判断,以后写NULL与变量的判断,NULL写在前面,NULL =head 这样就会报错,能够找到自己出错的地方,head =NULL 逻辑上错了,语法上正确,不易查找到出错点
第2个回答  推荐于2018-04-19
这个是指针越界的提示。

if(head=NULL)

这里判断相等应该是两个等号追问

太感谢了,主要是自己太粗心大意了,总是把=和==弄混
太感谢了

追答

不客气

本回答被提问者和网友采纳
第3个回答  2017-07-19
if(head = NULL)
{
    head = p;
}

这里出错了。像这种写法,建议写成:

  if(NULL == head)

第4个回答  2016-12-24
因为你的程序有问题追问

你看看人家一楼,解释的多详细,你就说一句有问题,我也知道有问题,说了等于白说!!!

用visual c++编译c程序的时候无错误 运行后出现this file does not ex...
如果程序没问题的话。那就是你的visual c++软件损坏了。我的室友装了个新软件后,他的的这个软件也是这个问题。你卸载了在重装试试

DevC++ 在编译后调试时却弹出对话框“源文件未编译”或"工程未编译"是...
2.我自己的问题是这样解决的:(嗯我就是没有设置编译器,)工具>编译选项>设定编译器配制>然后随便选一种编译器

为啥c++调试运行程序后弹出的对话框会立刻关闭?
方案1:CTRL + F5 调试运行,无需改动代码 方案2:如楼上所说需加头文件 #include “windows.h” 后 在程序后面添加代码system('pause');希望能够帮到你

运行c++程序时出现.exe已停止工作
n 导致了程序的运行崩溃,,你应该是想写\\n吧。。。下次认真点。。。还有几个可以改进的地方,比如creat函数中完全不需要定义n来判断是否是第一个结点,可以在第一个结点申请后,直接赋值head = p1 = p2。还有你的判断条件while(p2->num!=0)应该改为p1->num!=0,你认真看看是不是?好的兴趣...

c++程序一运行就显示程序弹出对话框显示遇到问题需要关闭,望高手解答...
每一个循环都会产生死循环。第一个for如果输入的b不是a中的字符,就一辈子跳不出来。死循环直到程序崩溃 第二个for已经写了j++你还在后面j += 1相当于每次跳两位,b一共就28个字符,你的j也是没有限制。如果b[j]不是32,就一直j++下去,能有b[100]这个元素吗?肯定还是报错。。。剩下的就...

用dev c++编程的时候,每次点击运行,总是出现源文件未编译的对话框,怎么...
你必须先点编译,编译成功后,也就是你的程序没有错误,再点运行就行了。如果有错就改正后再点编译,运行。希望能帮到你

使用Visual C++6.0运行程序是总是出现以下对话框,问什么?
这一般是在你编译之后有进行了一些修改,修改之后你没有进行build,而是直接执行(execute):点了那个感叹号,就会出现这个框了。没什么影响,点是就行了。除非你程序有语法错误什么的。

...6.0 C语言编程后生成的exe文件单独运行时,输入后按下回车没等结果...
你用Windows搜索在VC目录下搜一下windows.h这个文件, 把所在的目录配到 好像是菜单Tools -> Option对话框的Directory页面里面, 具体的你自己选一下, 我图形界面的东西记不太清.命令行的方法(另一种方法):开始菜单 -> 运行. 然后输入cmd回车. 把你的程序拖到那个黑框里, 按回车. 应该就不会...

C++点击“打开文件”之后,程序出现未响应自动关闭。如何解决
2)运行filetool,在复选框中勾选Owerwrite Files Without Prompting,点击Unzip。复制Unzip To Folder框内的文件位置。3)运行VC6.0,点击文件(File)→打开工作空间(Open Workspace),选择刚解压出来的FileTool.dsw,并确定。4)点击组建(Bulid)→组建 FileTool.dll,生成FileTool.dll文件。5)把生成...

C++中,在一段正常的代码中,只要加入delete指针,程序就崩溃。怎么回事...
使用delete释放的话(估计现在你已经知道该怎么写了),你的程序应该像下面这个样子:include <iostream>using namespace std;int main(int argc, char *argv[]) {int* varOne = new int(6);int *X= NULL;X = varOne;cout<<*X<<endl;delete X;\/\/后加的 return 0;} ...

相似回答