zoukankan      html  css  js  c++  java
  • 递归输出整数(C 语言版)

    好久没有写过 C 语言的代码了,大一上半学期必修课有 C 语言,不过现在大三,因为一直没有写过所以忘得也差不多了,这一段时间想补一补数据结构的知识,去图书馆借了本 C 语言版的《数据结构与算法分析》,也巩固一下 C 语言。

    小小练手的题目:说是有一个正整数 n ,写一个递归算法来输出 n 。

    不得不说,偶犯了一个“愚蠢”的错误,来看看一开始写的代码:

    #include "stdio.h"
    int main()
    {
    	void printOut(unsigned int n)
    	{
    		printf("%d", n % 10);
    		if(n >= 10)
    		{
    			printOut(n / 10);
    		}
    	}
    	printOut(1234);
    }

    很神奇吧?!我也不知道我为啥写出个这个一直报错的东东,怎么看都没错呀?!这是怎么一回事儿呢?最后查看了 C 语言函数调用的相关资料才知道:1:自定义函数需要先声明;2:自定义函数不能写在 main() 主函数里!唉~ 我这个 C 语言基础!估计也有可能是写 Javascript 写习惯了…改过来吧:

    #include "stdio.h"
    void printOut();   //声明自定义函数
    int main()
    {
    	printOut(1234);   //函数调用
    }
    void printOut(unsigned int n)   //函数体
    {
    	if(n >= 10)
    	{
    		printOut(n / 10);
    	}
    	printf("%d", n % 10);
    }

    输出:1234

    Tips: 要是想反序输出这个整数呢?其实只要调换一下语句顺序:

    #include "stdio.h"
    void printOut();   //声明自定义函数
    int main()
    {
    	printOut(1234);   //函数调用
    }
    void printOut(unsigned int n)   //函数体
    {
    	printf("%d", n % 10);
    	if(n >= 10)
    	{
    		printOut(n / 10);
    	}
    }

    :->

  • 相关阅读:
    Linux 任务计划
    Linux 进程及作业管理
    算法-动规
    算法-递归
    继承自string 的MyString
    魔兽2-装备
    [小甲鱼]入门学习python笔记 【魔法方法】
    [小甲鱼]入门学习python笔记 【类与对象】
    魔兽1 -备战
    讨厌的大整数加法
  • 原文地址:https://www.cnblogs.com/catprayer/p/1851839.html
Copyright © 2011-2022 走看看