C语言 返回指针的函数--指针函数 int* max(int a)
Posted DQ_CODING
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 返回指针的函数--指针函数 int* max(int a)相关的知识,希望对你有一定的参考价值。
定义
strlong示例代码
代码1:
#include<stdio.h>
#include<string.h>
//返回指针的函数
//比较两个字符串,返回更长的字符串
char *strlong(char* a,char* b)
{
char *p1=&a[0];
char *p2=&b[0];
while(true)
{
if(*p1=='\\0')
{
return b;
}else if(*p2=='\\0')
{
return a;
}
p1++;
p2++;
}
}
int main()
{
char a[]="ydfrgtdfghjkl;77777";
char b[]="defrtyuiof";
char *c=strlong(a,b);
printf("result=%s\\n",c);
if(strcmp(c,a)==0)
{
printf("a\\n");
}else if(strcmp(c,b)==0)
{
printf("b\\n");
}
getchar();
return 0;
}
代码2:
#include<stdio.h>
#include<string.h>
//返回指针的函数
//比较两个字符串,返回更长的字符串
char *strlong(char* a,char* b)
{
return strlen(a)>=strlen(b)?a:b;
}
int main()
{
char a[100];
char b[100];
printf("a=\\n");
gets(a);//接收一个字符串
printf("b=\\n");
gets(b);
char *c=strlong(a,b);
printf("result=%s\\n",c);
if(strcmp(c,a)==0)
{
printf("a\\n");
}else if(strcmp(c,b)==0)
{
printf("b\\n");
}
getchar();
return 0;
}
局部变量
函数在返回地址时,局部变量使用static
c程序内存布局:
案例–随机数
题目:
知识点:
#include<stdlib.h>
随机数函数:rand()
rand() 会随机生成一个位于 0 ~ RAND_MAX(一个很大的数) 之间的整数。
int a = rand() % 10; //产生0~9的随机数,注意10会被整除
rand()%n;//产生0—n-1之间的数
代码
#include<stdio.h>
#include<stdlib.h>
//返回指针的函数--随机数
int *random()
{
static int arr[10];
int i;
for(i=0;i<10;i++)
{
arr[i]=rand()%100;//0—99之间的数
}
return arr;
}
int main()
{
int i=0;
//int *arr=random()=arr=&arr[0]=arr[0]的地址
//%d *arr
int *arr=random();
printf("写法1:\\n");
while(i<10)
{
printf("arr[%d]=%d\\n",i,*arr);
arr++;
i++;
}
printf("写法2:\\n");
for(i=0;i<10;i++)
{
printf("arr[%d]=%d\\n",i,*arr+i);
}
getchar();
return 0;
}
以上是关于C语言 返回指针的函数--指针函数 int* max(int a)的主要内容,如果未能解决你的问题,请参考以下文章