关于DEV C++的数据不一致问题

关于DEV C++的数据不一致问题

我写了一个对数组求和的函数,并且在hackerrank里可以整行运行,也就是网站给的练习题中的第二题。在DEV C++我写的代码如下:

#include <stdio.h>
using namespace std;

int simpleArraySum(int ar[]) {
	int x=ar[3];
	int a=sizeof(ar);
	int b=sizeof(ar[1]);
    int count=sizeof(ar)/sizeof(ar[0]);
    int sum=0;
    for(int i=0;i<count;i++){
    	sum+=ar[i];
    }
    return sum;  
}

int main(){
	int ar[]={1,2,3,4};
	int c=sizeof(ar);
    int result=simpleArraySum(ar);
    cout<<"result="<<result;
    return 0;
} 

可以看到变量c和a的值应该都等于sizeof(ar),但是当我在进行调试的时候发现出现了问题,二者不一致。调试的结果如下图:
图中a=8,c=16
a=8,c=16,而且根据x=ar[3]=4的结果看出数组是正确传进去了的,很明显是数据在传输过程中有问题啊,最后算到的结果都不是1+2+3+4=10了,而只有1+2=3。
在这里插入图片描述
但是这段代码在hackerrank里运行就没事
在这里插入图片描述
有哪位大佬可以出来解答一下哇?

发布了5 篇原创文章 · 获赞 1 · 访问量 108

猜你喜欢

转载自blog.csdn.net/weixin_41425032/article/details/102779733
今日推荐