VC++调试出现error:expression cannot be evaluated,高手帮忙看一下,谢谢了

#include<iostream.h>
#include<windows.h>
void main()
{
double ll;
double mm;
double *a;
double *b;
int N=3;
int i;
if((a=(double*)malloc(N*sizeof(double)))=NULL)
{
cout<<"err"<<endl;
return;
}
if((b=(double*)malloc(N*sizeof(double)))=NULL)
{
cout<<"err"<<endl;
return;
}
cout<<" input ll: "<<endl;
cin>>ll;
cout<<endl;
cout<<"input mm: "<<endl;
cin>>mm;
cout<<endl;
a[0]=ll;
b[0]=mm;

for(i=1;i<N;i++)
{

a[i]=a[i]/i;
b[i]=b[i]*i;
}
cout<<a[0]<<" "<<b[0]<<endl;
free(a);
free(b);
}

 if((a=(double*)malloc(N*sizeof(double)))==NULL)
 { 
  cout<<"err"<<endl;
  return;
 }
 if((b=(double*)malloc(N*sizeof(double)))==NULL)

两个if都要用双等号判断,不能用等号赋值,并且,这个判断其实是没有意义的。

追问

是双等号啊,这个是判断是否有足够的内存分配的,应该没错吧

追答

你的代码和我的代码是有区别的,仔细查看。
你的判断,是判断了一个(..=..)赋值等式是否为NULL,这个在不同编译器模式下会有不同的结果,严格应该在a=malloc之后,判断if(NULL==a)

温馨提示:内容为网友见解,仅供参考
无其他回答

VC++调试出现error:expression cannot be evaluated,高手帮忙看一下,谢...
if((a=(double*)malloc(N*sizeof(double)))==NULL) { cout<<"err"<<endl; return; } if((b=(double*)malloc(N*sizeof(double)))==NULL)两个if都要用双等号判断,不能用等号赋值,并且,这个判断其实是没有意义的。

...调试的时候数组下的写法是:expression cannot be evaluated...
错误有两处:一是构造函数中局部变量data覆盖了成员变量data;二是构造函数中last的初值应为-1而不为0。因为按照你的设计,last应为顺序表的末元素下标。初始化顺序表为空,故last不应该为0。改正如下(还另外添了一个print函数辅助输出顺序表):\/\/.h include <iostream> include <cstdlib> using n...

vc++单步调试出现expression cannot be evaluated
逐过程调试—F10 逐语句调试—F11跳到光标处—Ctrl+F10 跳出本循环—Shift+F11 设定断点—F9 删除所有断点—Ctrl+Shift+F9 开始编译 F7 重新编译 –Ctrl+F7 开始调试--F5 停止调试—Shift+F5 重新启动—Ctrl+Shift+F5 ...

...的程序VC++6.0编译出错:nafxcwd.lib(winsplit.obj) : error...
哥们。是计算机某个文件不能加载,你重启计算机就行了。

VC++中,请教高手: 帮忙解释一下 "hWnd = ::CreateWindow...
同一楼,代表函数是一个 全局函数 我用的vc++6.0 虽然学的时间不长,但是楼下的说法还是第一次听到的...我听到的这个解释 本类下的函数要直接使用的话,类名和"::"都不用加,直接用就是了 加了"::"反而代表用的函数不是本类而是全局的 ...

刚装vc++运行程序总是出现error spawning cl.exe 高手帮忙解决一...
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\\VC98\\Bin”下面,你...

...undeclared identifier 请各位高手帮忙看一下
你的 FILE *fP;是FILE *fp;吧。还有最后printf(fp,"%11.5lf",x);改为fprintf(fp,"%11.5lf",x);

相似回答
大家正在搜