网站导航:首页 -> 计算机等级考试 -> 计算机等级考试动态 -> C教程-函数-3-

C教程-函数-3-

          str=match(c, s);         /*调用子函数*/
          putchar('\n');
          puts(str);               /*输出子函数返回的指针所指的字符串*/
          getch();
          return 0;
     }
     char *match(char c, char *s)
     {
          int i=0;
          while(c!=s[i]&&s[i]!='\n')/*找字符串中指定的字符*/
               i++;
          return(&s[i]);           /*返回所找字符的地址*/
     }

    三、用全程变量实现参数互传
    以上两种办法可以在调用函数和被调用函数间传递参数, 但使用不太方便。如
果将所要传递的参数定义为全程变量, 可使变量在整个程序中对所有函数都可见。
这样相当于在调用函数和被调用函数之间实现了参数的传递和返回。这也是实际中
经常使用的方法, 但定义全程变量势必长久地占用了内存。因此, 全程变量的数目
受到限制, 特别对于较大的数组更是如此。当然对于绝大多数程序内存都是够用的。
    例6:
     #incluide
     void disp(void);
     int m[10];          /*定义全程变量*/
     int main()
     {
          int i;
          printf('in main before calling\n');
          for(i=0; i<10; i++){
            m[i]=i;
            printf('=', m[i]);   /*输出调用子函数前数组的值*/
          }
          disp();                  /*调用子函数*/
          printf('\nin main after calling\n');
          for(i=0; i<10; i++)
·上一篇:C教程-函数-2-
·下一篇:C教程-函数-4-