首页 > 代码库 > 第三次作业
第三次作业
//定义一个包含有10个整数的数组a并初始化,定义一个指针变量p,p指向数组a,定义函数fun,要求在fun内部访问数组,并打印出数组中各元素的值,要求在fun函数内不要出现数字10.
#include<stdio.h> int arr[10] = {0}; int length=sizeof(arr)/sizeof(arr[0]);//数组占内存总空间,除以单个元素占内存空间大小 int main(void) { void fun(int a[]); fun(arr[10]); return 0; } void fun(int a[]) { int b,* p = arr; for(b = 0;b<length;b++) { printf("%d\n",*p); p++; } }
码云gitosc账号 allams
----------------------------------------------------
题目
- a.定义一个包含有10个整数的数组a并初始化,定义一个指针变量p,p指向数组a,定义函数fun,要求在fun内部访问数组,并打印出数组中各元素的值,要求在fun函数内不要出现数字10.
- b.函数里面不能出现10,于是想到了定义一个全局变量s = 10,然后再把s放在fun里面用,但怕被老师扣完作业分,只好去网上找有没有类似java里面数组的.length,结果没,C里面得用sizeof()巧妙的弄出数组长度
-
int length=sizeof(arr)/sizeof(arr[0]);//数组占内存总空间,除以单个元素占内存空间大小
而且不能定义在fun函数里,因为函数内数组是没有定义长度的参数,所以在里面定义只能得到数组长度为1
- c.运行结果
-
0 0 0 0 0 0 0 0 0 0 -------------------------------- Process exited after 0.118 seconds with return value 0 请按任意键继续. . .
- d.结论:知道了很久以前就想知道的C语言怎样获取数组长度,还弄一了个很麻烦的虽然不知道有什么用但感觉很高级的gitosc,只能说,又长知识了
第三次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。