还是cannot convert from 'bool' to

gyscott 2012-11-22 04:31:15
#include "stdlib.h"
void main( )
{
int num, *p, *q;
int i;
scanf(“%d”,&num);//可是变量,且连续空间
if(p = (int *)malloc(sizeof(int)*num ) ==NULL)
return;
q=p;
for (i=0; i<num; i++,p++)
scanf("%d",p);
p=q;
for (i=0; i<num; i++,p++)
printf("\nNo.%d: %d", i+1, *p);
free( q );
} //动态分配内存没有名字,用指针访问。

老师上课演示没问题,但是回来自己是就出现这个问题了,为什么
...全文
1434 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wasb001 2012-11-25
  • 打赏
  • 举报
回复
easyrem 2012-11-23
  • 打赏
  • 举报
回复
6# 亮了
ForestDB 2012-11-23
  • 打赏
  • 举报
回复
6L眼神不错啊。
hznat 2012-11-22
  • 打赏
  • 举报
回复
。。。
转角天边 2012-11-22
  • 打赏
  • 举报
回复
引用 5 楼 gyscott 的回复:
好吧,硕大的三个字
ardayoyo 2012-11-22
  • 打赏
  • 举报
回复
引用 5 楼 gyscott 的回复:
汗!图片左上角硕大的“改程序”三个字!
gyscott 2012-11-22
  • 打赏
  • 举报
回复
转角天边 2012-11-22
  • 打赏
  • 举报
回复
引用 2 楼 gyscott 的回复:
但是为什么老师演示就没问题呢
if(p = (int *)malloc(sizeof(int)*num ) ==NULL) 这样子怎么会没有问题
ardayoyo 2012-11-22
  • 打赏
  • 举报
回复
1.没#include<stdio.h> 2.

scanf(“%d”,&num); //你敲入了全角的“” 
3.最致命的:==优先级是大于= 的,所以你的代码首先判断的是 (int *)malloc(sizeof(int)*num ) ==NULL,这当然会有问题了 解决办法,加个括号 if((p = (int *)malloc(sizeof(int)*num ))==NULL)
gyscott 2012-11-22
  • 打赏
  • 举报
回复
但是为什么老师演示就没问题呢
转角天边 2012-11-22
  • 打赏
  • 举报
回复
if(p = (int *)malloc(sizeof(int)*num ) ==NULL) 改成

p =(int *)malloc(sizeof(int)*num );
if(p==NULL)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧