C语言新手,请问一个文件包含的有关问题,代码如下
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楼不是给你方法了吗