#include <stdio.h>
#include <conio.h>
int arasrc(double a[][], int r, int c, double s);
int main()
{
double ara[3][3];
int r, c;
//ara input
for(r = 0; r < 3; r )
{
for(c = 0; c < 3; c )
{
printf("\n\tEnter value for array (%d, %d): ", r 1, c 1);
scanf("%lf", &ara[r][c]);
}
}
//printing the ara
printf("\n\tArray = ");
for(r = 0; r < 3; r )
{
for(c = 0; c < 3; c )
{
printf("[ %6.2lf ]", ara[r][c]);
}
printf("\n\t\t");
}
//searching in ara
double s;
int found;
printf("\n\tEnter a value to search: ");
scanf("%lf",&s);
found = arasrc(ara, 3, 3, s);
if(found)
{
printf("\n\tFound at position (%d, %d).", (r 1), (c 1));
}
else
{
printf("\n\tNot found!");
}
getch();
return 0;
}
//searching in ara
int arasrc(double a[][], int r, int c, double s)
{
for(r = 0; r < 3; r )
{
for(c = 0; c < 3; c )
{
if(s == a[r][c])
{
return 1;
}
else
{
return 0;
}
}
}
}
(首先,我對編程完全陌生。距離我在大學開始我的 C 編程語言課程只有幾天。所以,我還不知道很多東西。)
提出問題:我必須在要求用戶輸入二維陣列的地方進行編碼。然后它列印陣列并要求用戶在陣列中搜索一個值。主要目標是為“搜索”部分創建另一個功能。
但我不能將陣列傳遞給函式。不知道是什么問題。請幫我解決問題。
uj5u.com熱心網友回復:
首先,將 r 和 c 作為引數傳遞,然后將它們重新用作本地回圈迭代器是沒有任何意義的。它們應該對應于傳遞陣列的大小,或者它們不應該被宣告為引數而是區域變數。
另請注意,這else { return 0; }沒有意義,否則程式將在回圈的第一次迭代時離開該函式。
在現代 C 中,建議將二維陣列傳遞給這樣的函式:
int arasrc (int r, int c, double a[r][c], double s)
{
for(i = 0; i < r; i )
{
for(j = 0; j < c; j )
{
if(s == a[i][j])
{
return 1;
}
}
}
return 0;
}
用法:arasrc(3, 3, ara, s);
uj5u.com熱心網友回復:
包括陣列大小。使用以下代碼。
int arasrc(double a[][3], int r, int c, double s)
{
for(r = 0; r < 3; r )
{
for(c = 0; c < 3; c )
{
if(s == a[r][c])
{
return 1;
}
else
{
return 0;
}
}
}
}
uj5u.com熱心網友回復:
#include <stdio.h>
#include <conio.h>
int arasrc(int a[3][3], int s)
{
for( int r = 0; r < 3; r )
{
for(int c = 0; c < 3; c )
{
if(s == a[r][c])
{
return 1;
}
}
}
}
int main()
{
int ara[3][3];
int r , c;
//ara input
for( r = 0; r < 3; r )
{
for( c = 0; c < 3; c )
{
printf("\n\tEnter value for array (%d, %d): ", r 1, c 1);
scanf("%d", &ara[r][c]);
}
}
//printing the ara
printf("\n\tArray = ");
for(int i = 0; i < 3; i )
{
for(int j = 0; j < 3; j )
{
printf("%d",ara[i][j]);
}
printf("\n\t\t");
}
//searching in ara
int s;
int found = 0;
printf("\n\tEnter a value to search: ");
scanf("%d",&s);
found = arasrc(ara , s);
if(found = 1)
{
printf("\n\tFound ");
}
else
{
printf("\n\tNot found!");
}
return 0;
}
你的問題的解決方案你需要學習語法只有你的邏輯是正確的
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/516830.html
標籤:数组C功能指针
上一篇:C 回傳另一個類物件
下一篇:如何將陣列指標傳遞給函式
