学习C语言的自我输出(随学随更)

 
#include <stdio.h>
int main(void)
{
    int dogs;


    printf("How many dogs do you have?\n");
    scanf("%d", &dogs);
    printf("So you have %d dog(s)!\n", dogs);


    return 0;
}

#include是使用头文件的意思,所有的函数都有原型。但printf(),scanf()等函数不申明函数原型,其原因正是因为<stdio.h>中已经包含了它们的函数原型。出现在文件顶部的信息成为头,C一般有很多头文件。

int main(void)

C语言中,任何一个程序都是从main函数开始的,可以理解为它是程序的“基石”它为程序的运行提供了一个基本条件。

圆括号()代表main是一个函数。就像数组中,ar[]中的[]代表ar是一个数组。

int 指明了函数返回值的类型,一个函数,有时被调用函数调用时需要使用其返回值,其类型就代表了它的返回值类型。当然,函数也可以使用void,代表它不返回值。

(void)代表了其没有参数

/* lethead2.c */
#include <stdio.h>
#include <string.h>            /* for strlen() */
#define SPACE ' '
void show_n_char(char ch, int num);
int main(void)
{
    show_n_char(SPACE, 12);    /* using constants as arguments */
    printf("%s\n", NAME);
    return 0;
}
/* show_n_char() definition */
void show_n_char(char ch, int num)
{
    int count;
    for (count = 1; count <= num; count++)
        putchar(ch);
}
如上,程序最底层为函数的定义,前面说过,函数有原型,这个自我定义的函数原型即为main()之前的内容。而在函数中,调用它并赋予这个新定义的函数实际参量,类似于
char ch = SPACE;
int num = 12;

注意,在被调用的函数中对数值的操作并不会对调用函数中的值产生影响(除非使用指针)。就好像调用函数是一个”箱子“,被调用函数是另一个“箱子”,你从调用函数这个”箱子“中copy了一点东西出来放到被调用函数这个"箱子"中(此处是"SPACE""num"),两者已经没有关系了,各玩各的。


/* lesser.c -- finds the lesser of two evils */
#include <stdio.h>
int imin(int, int);

int main(void)
{
    int evil1, evil2;

    printf("Enter a pair of integers (q to quit):\n");
    while (scanf("%d %d", &evil1, &evil2) == 2)
    {
        printf("The lesser of %d and %d is %d.\n",
            evil1, evil2, imin(evil1,evil2));
        printf("Enter a pair of integers (q to quit):\n");
    }
     return 0;
}

int imin(int n,int m)
{
    int min;

    if (n < m)
        min = n;
    else
        min = m;
  
    return min;
}

前面说了,函数可以返回值,函数名前面的数据类型表示函数返回的值的类型。

return min;

return就是将函数的值返回给调用函数,理解为在被调用函数中的一种加工,然后成品"min"给main()使用(此处为在while中打印出来),返回值就和其他值一样的使用方法,可以赋给其他变量,打印等等。

注意噢。return的作用是将终止当前函数,将控制返回给调用函数并执行调用函数的下一个语句

再次提醒,调用与被调用函数中的动作对对方而言是"封闭"的,两者中使用同一个变量名并不是错误的,同理,它们自己内部发生的事情另一方并不会知晓,所以需要使用return返回值而不是将min直接在调用函数中使用。(想象调用函数与被调用函数如古罗马(被调用函数imin())和中国古代(调用函数main())一样,两者使用对方的物品,但需要通过商人(return)才能中间进行交换(min))。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值