㈠ c语言 怎么从键盘上输入数字赋给数组
思路:先键盘输入一个数赋值给数组的第一个数,并且赋值给最大数max,同时设置最大值下标为0,接着for循环依次赋值给数组相应位置并判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标,最后输出最大数和最大数下标。参考代码: #include "stdio.h" int main() { int i,a[10],max,maxi; scanf("%d",&a[0]); max=a[0]; maxi=0; for(i=1;imax){ max=a[i]; maxi=i; } } printf("最大数为:%d,最大数下标为:%d",max,maxi); return 0;}/*运行结果:(例如求5的阶乘) 1 2 5 3 4 6 7 9 8 0最大数为:9,最大数下标为:7*/
㈡ C语言数组怎么调用
有好几种方法,我稍微说一下,你回去找书看一看:
通过数组首地址 指针 带下标的指针引用一维数组元素。
引用一维数组中的某一个元素的方法:
* :求当前地址的内容 & :求当前内容的地址
1 a【i】
2 *&a【i】 //*在定义语句时代表定义一个指针变量,当在执行语句部分时代表间址运算符,引用一个指针变量指向的地址的内容。&叫求地址运算符,求当前内容的地址。所以*和&就像乘号和除号一样,互相抵消了。
3 *(a+i):在数组名的地址上,加上i个存储单元。代表第(i+1)个元素,用间址运算符引用它,即等价于a[i]
4 当(p=a;||p=&a【0】) 则 *(p+i)等价于a[i]
5 当(p=a;||p=&a[0]) 则 p[i] 等价于 a[i] //方括号不仅表示数组元素的记方括号不仅表示数组元素的记方括号不仅表示数组元素的记方括号不仅表示数组元素的记号号号号,也是一种运算符也是一种运算符也是一种运算符也是一种运算符.
总结:引用一维数组元素 a[i] 的四种方法: a[i] *(a+i) 若p=a, 则 p[i] *(p+i) 表示a[i]的地址的方法:&a[i] a+i p+i 都表示当前数组第i个元素的地址。
http://wenku..com/view/46092a66783e0912a2162a27.html这是引用的网页,你可以自己去看看!
㈢ c语言怎么调用数组
c语言可以用数组元素的方法或指针的方法调用数组。
int a[100],i;
for(i=0;i<100;i++)
scanf("%d",&a[i]);
for(i=0;i<100;i++)
printf("%d ",a[i]);
也可以:
int a[100],*p;
for(p=a;p<a+100;p++)
scanf("%d",p);
for(p=a;p<a+100;p++)
printf("%d ",*p);
㈣ c语言函数怎么调用数组部分
一、数组可定义为全局变量,函数直接调用。
二、数组可定义为局部变量,再通过参数传递到函数中调用(实参传数组名,表示数组首地址,也可通过指针或数组名+数字来传递数组局部地址)。
三、main函数想要调用函数返回的数组,可用static定义静态变量或malloc定义动态数组(字符串常量也可返回使用,但局部变量,在函数调用结束会被释放,不能作为返回地址使用)。
下面是演示代码:
#include <stdio.h>
#include <string.h>
#include <malloc.h>
char str1[]="我是全局变量数组";
char *fun0(char str2[]);
char *fun1();
char *fun2();
int main()
{
char *str3=NULL,*str4=NULL,*str5=NULL;
char str2[]="我是main函数的局部数组变量";
str3=fun0(str2);
printf("str3:%s,fun函数调用结束,我的地址依然可以使用 ",str3);
str4=fun1();
printf("str4:%s,fun函数调用结束,我的地址依然可以使用 ",str4);
str5=fun2();
printf("str5:%s,fun函数调用结束,函数结束不会自动释放 ",str5);
free(str5);
return 0;
}
char *fun0(char s[])
{
static char str3[]="我是fun函数申明的静态数组变量";
printf("str1:%s,fun函数可以直接调用 ",str1);
printf("str2:%s,fun函数通过参数将我的地址传进来 ",s);
return str3;
}
char *fun1()
{
char *str4="我是fun1函数的字符串常量";
return str4;
}
char *fun2()
{
int len;
char sTemp[]="这是一个临时数组,之后用于给mallc申请的地址传值,传递内容为:(我是fun函数通过mallic申请的数组)";
char *str5=NULL;
len=strlen(sTemp+63);
str5=(char *)malloc(sizeof(char)*len+1);
if(!str5)return NULL;
strcpy(str5,sTemp+63);
str5[len-2]=0;
return str5;
}