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

C语言新手,请问一个文件包含的有关问题,代码如下

2012-03-26 
C语言新手,请教一个文件包含的问题,代码如下这是我的主程序#include stdio.h#include util3.hvoid mai

C语言新手,请教一个文件包含的问题,代码如下
这是我的主程序
#include <stdio.h>
#include <util3.h>
void main(){
int num[] = {1,2,3};
printf("size : %d.\n",lengthInt(num));
}

这里,在util3.h是
int lengthInt3(int arr[]){
return sizeof(arr)/sizeof(int);
}
但是运行的时候就报错了。
错误:Cannot open include file: 'util3.h': No such file or directory
我用的是vc6

[解决办法]
#include <util3.h>

==>

#include "util3.h"
[解决办法]
文件包含的路径不正确。

如果是自己定义的文件,一般会用"",要保证路径的正确性!
[解决办法]
#include <stdio.h> 以'<''>'包含的头文件是系统级的
#include "first.h"以双引号包含的是自定义的

[解决办法]
一般尖括号是用来包含标准库头文件或者是系统头文件,我们自定义的头文件一般用双引号包含,你使用双引号试一下,如果还不行那就由两种可能:一种可能是头文件拼写错误,另一种可能是头文件路径不对。
[解决办法]
其实就是一个路径问题,你将自定义头文件放到系统头文件子目录下就可以了
[解决办法]

探讨

但是这样的话、结果也不对哦、结果应该是3,但是确是 1.

[解决办法]
探讨
但是这样的话、结果也不对哦、结果应该是3,但是确是 1.

[解决办法]
#define lengthInt(arr) (sizeof(arr) / sizeof(arr[0]))
[解决办法]
探讨
引用:

但是这样的话、结果也不对哦、结果应该是3,但是确是 1.


return sizeof(arr)/sizeof(int);

函数里 数组arr退化成指针了 即使你int arr[]表示

指针4个字节 int4个字节

[解决办法]
双引号
[解决办法]
探讨
引用:
引用:
但是这样的话、结果也不对哦、结果应该是3,但是确是 1.

你写的代码的确有问题

int arr[]
===>
直接就变成int *arr,不管你愿不愿意


那怎么办呢?就是说这里的、在lengthInt方法的参数 arr现在是一个指针,指向了原来的数组,但是我用*arr也不能取得他的……

[解决办法]
探讨
引用:
#define lengthInt(arr) (sizeof(arr) / sizeof(arr[0]))


请问改怎么写、才能算出数组的长度呢?

[解决办法]
探讨
引用:
引用:
引用:
引用:
但是这样的话、结果也不对哦、结果应该是3,但是确是 1.

你写的代码的确有问题

int arr[]
===>
直接就变成int *arr,不管你愿不愿意


那怎么办呢?就是说这里的、在len……

[解决办法]
探讨

引用:
#define lengthInt(arr) (sizeof(arr) / sizeof(arr[0]))


请问改怎么写、才能算出数组的长度呢?

[解决办法]
探讨
引用:
#define lengthInt(arr) (sizeof(arr) / sizeof(arr[0]))


请问改怎么写、才能算出数组的长度呢?

[解决办法]
探讨
引用:

引用:
#define lengthInt(arr) (sizeof(arr) / sizeof(arr[0]))


请问改怎么写、才能算出数组的长度呢?


10楼不是给你方法了吗

热点排行