當前位置:首頁 » 編程語言 » c語言查看數組內容
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言查看數組內容

發布時間: 2023-05-25 21:16:44

Ⅰ vs調試時c語言怎麼查看二維動態數組的值

使用malloc函數,先分配第一維羨顫的大兄薯敗小,然後再循環分配每一維的大小。
示例代碼,分配3行4列二維數組:

#include <<a href="https://www..com/s?wd=stdio.h&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-TLwGUv3EnH0vPjmknHbY" target="_blank" class="-highlight">stdio.h</a>>#include <<a href="https://www..com/s?wd=malloc.h&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-TLwGUv3EnH0vPjmknHbY" target="_blank" class="-highlight">malloc.h</a>> int main(){ int **a; int i, j; a = (int**)malloc(sizeof(int*)*3);//為二維數組分配3行 for (i = 0; i < 3; ++i){//為每列分配4個大小空間 a[i] = (int*)malloc(sizeof(int)*4); } //初始化 for (i = 0; i < 3; ++i){ for (j = 0; j < 4; ++j){ a[i][j] = i+j; } } //輸出測試 for (i = 0; i < 3; ++i){ for (j = 0; j < 4; ++j){ printf ("%d ", a[i][j]); } printf ("\n"); } //釋放動態開辟手洞的空間 for (i = 0; i < 3; ++i){ free(a[i]); } free(a); return 0;}/*輸出:0 1 2 31 2 3 42 3 4 5*/

Ⅱ C語言:用指針的方法查找數組中某個數在數組的位置

對於函數:int* find(int a[], int value),其中a為整型數組首地址,value是被檢驗值。我們可以利用指針a間接引用數組第一個元素的值,並將其與value比較,比較完後,將指針向後移動,再通過間接引用的方式比較下一個元素值,依次下去,直到在整型數組中找到被檢驗值或者整型數組所有元素比較結束為止。
那麼這里有個問題,我們如何通過指針知到整型數組什麼時候結束呢?對於整型數組而言,沒有辦法,所以我們必須先知道整型數組的長度,可以在參數中給出,也可以在主函數定義中知曉。
程序如下:
int* find(int a[], int value)
{
int i=0,*p=a;
for(i=0;i<=9;i++)
{
if(*p==value)
return p;
else
p++;
}
if(i>=10)
return 0;
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0};
int n;
scanf("%d",&n);
printf("%x %d",find(c,n),*(find(c,n)));/*第一個為函數返回地址,第二個為函數返回地址里的值*/
getch();
}
另外,我們測試一個程序或者函數是否正確不在於其能否正確運行,而在於其運行的結果是否符合我們的預期。針對上述程序,測試方法如下:
輸入任意一個數,如果這個數在數組C內,看是否能夠列印出16進制的地址數和與輸入值相同的數;如果不在數組C內,看是否返回值為0的地址。

Ⅲ c語言怎麼獲取數組的內容 博客

在C語言當中,李和對於數組復制要分兩種。 1)字元數組。 字元數冊擾慎組相當於字元串,州敬可以用標准函數strcpy()和strncpy()直接進行字元串復制。 2)其他數組。 由於C語言的原始性,它並不具備操作符重載。所以對於數組復制,都需要對數組進行遍歷

Ⅳ C語言查找數組中的數據

#define IntSize sizeof(int)
#define StructSize sizeof(struct tagresult)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef int *ptint;
typedef struct tagresult
{
int v;
char bl;
}*ptresult;

int lessthan(const void *v1,const void *v2)
{
int i1=*((ptint)v1),i2=*((ptint)v2);

if(i1==i2)
return 0;
else if(i1<i2)
return 1;
else
return -1;
}

int main()
{
int c,n,capacity=128,rlen=0,dlen;
ptint data=(ptint)calloc(capacity,IntSize);
ptresult result;

scanf("%d",&n);
result=(ptresult)calloc(n,StructSize);
memset(result,0,n*StructSize);
while(n-->0)
{
scanf("%d",&c);
dlen=0;
for(;c>0;c--)
{
if(dlen+1>=capacity)
{
capacity*=2;
data=(ptint)realloc(data,capacity);
}
scanf("%d",data+dlen++);
}
scanf("%d",&c);
//直接調用庫函數qsort進行快速排序,就不自己寫快速排序演算法函數了
qsort(data,dlen,IntSize,lessthan);
if(c<=dlen)
{
(*(result+rlen)).v=*(data+c-1);
(*(result+rlen)).bl=1;
}
rlen++;
}
for(n=0;n<rlen;n++)
{
if(1==(*(result+n)).bl)
printf("Case #%d:%d\n",n+1,(*(result+n)).v);
else
printf("Case #%d:-1\n",n+1);
}
free(data);
free(result);
return 0;
}

Ⅳ 如何用c語言編寫查詢數組中的元素

#include
<stdio.h>
#include
<stdlib.h>
void
main()
{
int
b[7];
int
i,
j,
p;
randomize();
/*
這一段代碼可保證數組
b
內的
7
個隨機數都不一樣
*/
for
(i
=
0;
i
<
7;
++i)
{
do
{
b[i]
=
rand()
%
36;
/*
產生隨機數
*/
p
=
0;
/*
先假設沒有重復
*/
for
(j
=
0;
j
<
i
&&
!p;
++j)
/*
跟已經產生的數字一一比較
*/
{
if
(b[i]
==
b[j])
/*
如果重復了
*/
p
=
1;
/*
就記住是重復了
*/
}
}
汪燃蠢while
(p);
}
/*
這一段只是把結果打出以作驗證
*/
for
(i
=
0;
i
<
7;
++i)
printf("%d
",
b[i]);
printf("\n");
}
如果有看不懂的地方,困陪請繼續追問,段宏一定會解釋清楚。

Ⅵ C語言查找數組中的值

if(num[i]=search) 這句錯了,改成if(num[i]==search)

Ⅶ C語言:數組中進行查找操作什麼意思

查找的意義是在一堆數據中,使用方法找到你想要找的數據。
一般為分:順序和折半(又叫二分)查找兩種方滾世法。
存放在數組中的數據就可以看成一堆數據,在有限數組內存放一些數據,通過使用查找方法進行查找想要找的數。
順序方褲備頃法:這種查找方法不需要數組排序,數據可以是無序的。從數組開頭向後一個一個與被查找數進行比較,如果找到就做相應的操作(如輸出這個數的下標或位置)等。
折半查找法:(二分查找)
前提需要把數組里的數據進行排序(升序或降序)。思路是(假設數組已按升序排序)每次只比較中間的數據(一段距離內),第一次先和中間的數組(下標是這個數組中在中間的)比較,如果相同,則說明被找數已找到。否則就要判斷是在大於還是小於:如果是大於,那麼就將在中間+1至最後一個數之間的中間數再進行比較。否則就將在第一個至中間-1的數進行胡陸比較;再次重復比較,直到找到數為止。

Ⅷ C語言如何查找並輸出數組中含有某一關鍵字的所有元素

strcmp 是整個字元串比較的,不能用 strcmp,可以用 strstr() 函數,strstr 是在一個字元串中查找一個子串,如果查到返回子串在字元串的位置,查找不到返回NULL。例如:

constchar*p=strstr("清炒土豆絲","土豆");

Ⅸ c語言 數組查詢

#include<stdio.h>
#include<string.h>

typedefchar*String;

Stringnames[7]={"Allen","Bob"};

intquery(charconst*name){
intindex=0;
while(*(names+index)){
拿團櫻//如果字元串相等就意味查詢到結果,break退出循環
if(strcmp(*(names+index),name)==0){
break;
}
index++;
}
returnindex;
}

intmain(){
intindex=query("Bob");
printf("或陵%i ",index);
}

使用順序查找的方法,看程序!

運行結果,查詢Bob,Bob的下標為消叢1,返回正確!

Ⅹ C語言數組的查找函數

#include<stdio.h>
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
max=a[0];
min=a[0];
for(i=0;i<5;i++){
if(a[i]>max)
max=a[i];
}
for(i=0;i<5;i++){
if(a[i]<min)
min=a[i];
}
for(i=0;i<5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值為%d\n",max);
printf("最小值為%d\n",min);
return 0;
}