首页 > 电脑

我使用的是Devc++;为什么A此处编译错误,书上是这样的

更新时间2019-03-03 23:57:33

#include<stdio.h>

int main(void)

{

int a[2];

int *p,*q;

p=a;

q=p+1;

printf("%d",q-p);

printf("%d",(int)q-(int)p);---------------------------A

}

919C:UsersAdministratorDocumentsδÃüÃû2.cpp[Error] cast from 'int*' to 'int' loses precision [-fpermissive]

926C:UsersAdministratorDocumentsδÃüÃû2.cpp[Error] cast from 'int*' to 'int' loses precision [-fpermissive]


你的程序只能在c语言环境下运行,而不能在C++中运行

(初学者一般分不清C与C++这两个不同语言的)

你要将你的程序改为.c后缀名而你能是Cpp的(另存为就可以了(

我也用dev-cpp

你的程序可以运行的

我使用的是Dev c++;为什么A此处编译错误,书上是这样的


编译提示,从“int*”转换为“int”会丢失精度。你是64位的系统吗?Dev-C++下int类型只占用4个字节数,而64位程序地址占用8个字节数。你的程序在32位系统中编译,不会出错。

相关标签:vc

上一篇:*p为什么是0而不是输入的最后一个数5

下一篇:蓝桥杯:矩阵乘法这篇代码中,为什么要三层循环?while(k--)和把k--放在循环里面有什么区别?