Developer Programmer
شنبه 16 مهر 1384, 18:41 عصر
سلام
مثلا خواستیم جستجوی خطی رو به زبان C پیاده کنیم !. کامپایلر کلید کرده که & اشتباهه. من هم نمی دونم به چی اش گیر داده!
#include <stdio.h>
#include <conio.h>
/************************************************** **/
void seq2( const int *,
const int ,
const int ,
int * );
void seq1( const int *,
const int ,
const int ,
int & );
/************************************************** **/
int main(int argc, char* argv[])
{
int a[4]={0,1,2,3};
int loc ;
seq2 ( a, 4, 2, &loc );
printf("%d",loc);
seq1 ( a, 4, 2, loc);
printf("%d",loc);
getch();
return 0;
}
/************************************************** **/
void seq2( const int *arr, //call by value
const int size, //call by value
const int key, //call by value
int *loc) //call by refrence
{
int i;
*loc= -1;
for (i=0; (i< size); i++) if (arr[i] == key) *loc = i;
}
/************************************************** **/
void seq1( const int *arr, //call by value
const int size, //call by value
const int key, //call by value
int &loc) //call by refrence
{
int i;
loc= -1;
for (i=0; (i< size); i++) if (arr[i] == key) loc = i;
}
/************************************************** **/
مثلا خواستیم جستجوی خطی رو به زبان C پیاده کنیم !. کامپایلر کلید کرده که & اشتباهه. من هم نمی دونم به چی اش گیر داده!
#include <stdio.h>
#include <conio.h>
/************************************************** **/
void seq2( const int *,
const int ,
const int ,
int * );
void seq1( const int *,
const int ,
const int ,
int & );
/************************************************** **/
int main(int argc, char* argv[])
{
int a[4]={0,1,2,3};
int loc ;
seq2 ( a, 4, 2, &loc );
printf("%d",loc);
seq1 ( a, 4, 2, loc);
printf("%d",loc);
getch();
return 0;
}
/************************************************** **/
void seq2( const int *arr, //call by value
const int size, //call by value
const int key, //call by value
int *loc) //call by refrence
{
int i;
*loc= -1;
for (i=0; (i< size); i++) if (arr[i] == key) *loc = i;
}
/************************************************** **/
void seq1( const int *arr, //call by value
const int size, //call by value
const int key, //call by value
int &loc) //call by refrence
{
int i;
loc= -1;
for (i=0; (i< size); i++) if (arr[i] == key) loc = i;
}
/************************************************** **/