㈠ 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;
}