c语言实例
2024-10-19 14:49:05
#include <stdio.h>
int main()
{
int i,j=;
int k=;
i=max(j,k);
printf("i=%d\n",i);
return ;
} int max(int a,int b)
{
int c;
c=a>b ? a:b;
return c;
}
实参和形参:
事实上,实参和形参被分配到内存的不同单元。
实参对形参是单向的”值传递“,形参若在函数中值改变不影响实参的值。
函数调用完毕之后,形参那部分内存单位被收回。
--------------------------------
c语言中 函数是不可以重名的。(c++与java是可以的,根据返回类型不同而不同)
函数体内的变量与与参数也是不可以重名的。
函数可以返回一个指针但不可以返回一个数组
例二:10!
#include <stdio.h>
int main()
{
int i;
float f=;
for(i=;i<=;i++)
f=f*i;
printf("10!=%10.0f\n",f); return ;
}
奇怪,c-free软件,函数要在调用函数的前面。也就是函数要在main函数前面出现
#include <stdio.h>
float fac(int n)
{
float f;
if(n==||n==) f= ;
else f=n*fac(n-);
return f;
} int main()
{
float f;
f=fac();
printf("10!=%10.0f\n",f);
return ;
}
例三:动态变量与静态变量
#include <stdio.h> void function()
{
static int a=;
int b=;
a++;
b++;
printf("a=%d,b=%d\n",a,b);
} int main()
{
function();
function();
function();
return ;
}
例四:使用extern关键字提前声明全局变量
#include <stdio.h> int max(int a,int b)
{
return a>b?a:b; }
int main()
{
extern i,j;
printf("%d\n",max(i,j));
}
int i=-,j=-;
例五:指针作为函数的参数
#include <stdio.h>
void change(int i,int *p)
{
i++;
if(p !=NULL)
(*p)++;
}
int main()
{
int a=,b=;
change(a,&b);
printf("a=%d b=%d\n",a,b);
return ;
}
指针直接改变了实参的值。局部变量是不可以改变
例六:返回指针的函数
#include <stdio.h> char *name[]={ "Monday","Tuesday","Wednesday","Thursday",
"Friday","Saturday","Sunday" };
char *message= "wrong input"; char *week(int day)
{
if(day<||day>)
return message;
else
return name[day-];
} int main()
{
int day;
char *p;
printf("input a number of a week:\n ");
scanf("%d",&day);
p=week(day);
printf("%s\n",p);
return ;
}
例七:为什么要使用指针
#include <stdio.h>
void swap(int a,int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
main()
{
int a=,b=;
swap(,);
printf("%d\t%d\n",a,b);
return ;
}
不使用指针不能改变 主函数 a,b的值
#include <stdio.h>
void swap(int *a,int *b)
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
} main()
{
int a=,b=;
swap(&a,&b);
printf("%d\t%d\n",a,b);
return ;
}
例八:字符串长度(虽然函数库里面有strlen函数,一个例子还是不错的)
两个length作用域是如何区别的呢
#include <stdlib.h>
#include <stdio.h> int strlen_1(char *string)
{
int length=;
while( *string++ !='\0')
length +=; return length; }
int main()
{
int length; length=strlen_1("abcdef");
printf("%d\n",length); return ;
}
用函数库里面的
#include <stdlib.h>
#include <stdio.h> int main()
{
printf("%d\n", strlen("abcdef"));
return ;
}
例九:指针的长度 。一般32位的都是4字节
#include <stdio.h>
int main()
{
int *p;
char *p2;
printf("%d\n", strlen("abcdef"));
printf("%d\n", sizeof("abcdef"));
printf("%d\n", sizeof(p));
printf("%d\n", sizeof(p2));
return ;
}
最新文章
- poj 1990 MooFest
- linux od命令: 按不同进制显示文件
- JMS开发(二):深入PTP,Pub-Sub两种模式
- PKCS#12
- C#高效导出Excel(IList转DataTable,DataSet)
- list根据所存对象属性排序
- tensorflow的Virtualenv安装方式安装
- 【WCF系列】(二)设计和实现服务协定
- android4.2添加重启菜单项
- H5 新特性之 fileReader 实现本地图片视频资源的预览
- 你的知识需要管理PKM
- U-Mail企业邮箱如何导入授权文件
- Automatically migrating data to new machines kafka集群扩充迁移topic
- [poj P1141] Brackets Sequence
- Spring MVC和Spring Boot的理解以及比较
- bzoj1798
- sublime text3在交互时解决input()函数无法使用的问题
- Filter实现session超时自动跳转到login页,超过试用期不许登录
- 05.odoo12开源框架学习
- 对象池3(方法功能)PoolManager(控制)PoolTimeObject(时间管理)text01(调用)Destorys(销毁)
热门文章
- 静态Web开发 JavaScript
- java语言实现简单接口工具--粗简版
- sys.argv[]基本用法
- extern ";C";的用法解析(转)
- vector(相对线程安全) arryList(线程不安全)
- shark错误:Query returned non-zero code: -101
- python 使用模块
- [Objective-c 基础 - 2.10] description方法
- 转载最佳JQuery学习网站
- RocketMQ入门(2)最佳实践