2.C语言基础语法学习教程_函数.docVIP

  • 2
  • 0
  • 约2.59千字
  • 约 5页
  • 2018-04-05 发布于河南
  • 举报
2.C语言基础语法学习教程_函数.doc

函数 一、函数功能 C语言的函数可以理解为,汇编语言中的子程序。 fun printf “Hello world!” ; 上面函数作用是打印“Hello world!”。 二、函数使用 要使用函数要对函数进行定义。 比如,要实现一个功能为返回两个整型数据中较大的一个(如果相等,返回第一个)。 有下面两种方式: 程序1 int f int,int ; main int a 6;int b 8; printf The bigger one is %d in %d,%d .,f a,b ,a,b ; int f int a,int b return a b?a:b; 程序2 int f int a,int b return a b?a:b; main int a 6;int b 8; printf The bigger one is %d in %d,%d .,f a,b ,a,b ; 有三点需要注意: 使用Tc提供的库函数要包含函数声明。 函数返回值的类型匹配 参数的类型匹配 第一个问题,库函数使用要包含声明。看一个例子。 下面程序3用到了strcyp函数,它的声明在string.h头文件中。 程序3 #include int n 0; int pnttime int ; main n++; pnttime n ; if n 4 return; else main ; int pnttime int t char str[10] ; char time[6] time; if t 0 return 0; time[4] t 1?s:\0; switch t case 1: strcpy str,st ; break; case 2: strcpy str,nd ; break; case 3: strcpy str,rd ; break; default: strcpy str,th ; break; printf \n%d%s %s\n,t,str,time ; return t; 第二个问题,返回值类型的匹配。 举两个例子: 程序e1 void fun ; main int a; a fun ; void fun printf no return. ; return 0; 注意这个程序e1能通过编译吗,提示什么错误?如何解决? 再看一个例子,malloc函数返回值是void * 如果char *p malloc 20 ;编译将提示错误。如何解决?可以进行类型设置。char *p (char *)malloc 20 ; 第三个问题,在使用参数时要注意类型与函数声明的一致。 程序4 #include char str[10] hello; int setch char [],int,char ; main printf \nbefore set str:%s\n,str ; setch str,0,H ; setch str,20,A ; printf \nafter set str:%s\n,str ; int setch char p[],int idx,char ch int len; len strlen p ; if len 0 printf \nstr error\n ; return -1; if idx len-1||idx 0 printf \nidx error\n ; return -1; p[idx] ch; return idx; 思考问题:如果程序4中把语句setch str,0,H 中H改成513,会是什么结果,为什么? 程序5 #include char str[3][5] year,mon,day ; int date[2][3] 2011,4,10 , 2010,12,5 ; struct Date int year;int mon;int day; mydate; int setdate struct Date *,char *,int ; int gettype char * ; main int i; struct Date md[2]; for i 0;i 2;i++ printf \nbefore set mydate%d y:%d m:%d d:%d\n,i,md[i].year,md[i].mon,md[i].day ; setdate md[0],year,date[0][0] ; setdate md[0],mon,date[0][1] ; setdate md[0],day,date[0][2] ; setdate md[1],year,date[1][0] ; se

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档