首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

不到10行的程序,不知道错在哪里,帮看看解决思路

2012-03-05 
不到10行的程序,不知道错在哪里,帮看看#define countof(a)( sizeof(a) / sizeof(a[0]) )int sum(int[] val

不到10行的程序,不知道错在哪里,帮看看
#define countof(a)( sizeof(a) / sizeof(a[0]) )

int sum(int[] values)
{
ints;
for (int i = 0; i < countof(values); ++i)
s += values[i];
return s;
}

int wmain()
{
const int[] values = { 7, 5, 6, 3, 3, 3, 5, 6, 8, 8 };
int s = sum(values);
std::wcout << L"Sum=" << s << std::endl;

return 0;
}


[解决办法]
int sum(int[] values) 

数组将退化成指针,不能使用sizeof取数组大小,sizeof 取到的是指针的大小
[解决办法]
同楼上.

sizeof取的是指针大小.
[解决办法]
int[] values 在C++里面数组应该不能这样表示的吧 在JAVA里可以。不知道我有没有记错。^_^
int values[]
[解决办法]
具体可以看<C++ PRIMER>书
[解决办法]
呵呵是可以的不过你求数组的长度求错了
应该是
sizeof(sizeof(a) / sizeof(int)
就行了
[解决办法]
这里是由于sizeof()的原因,数组作为参数传进去的时候已经退化为指针了,可以使用strlen()函数

热点排行