c语言的递归函数没有效果,检查一天了都没检查出问题,希望能得到解答

img


题目是输入九键中的23456789这八个数字,然后打印九键里的所有可能字母组合。另外还想请教一下还有什么编译器可以使用scanf函数。

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7797392
  • 这篇博客也不错, 你可以看下关于C语言scanf函数中'\n'的理解
  • 除此之外, 这篇博客: 【C语言】解决C语言题目中的多组输入问题中的 一、scanf在读取数字时 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 例题奉上

    int main() 
    {
        int n;
        while (scanf("%d", &n) != EOF)
        {
            if (n % 2 == 0)
            {
                printf("Even\n");
            }
            else
            {
                printf("Odd\n");
            }  
        }
        return 0;
    }
    

    我们这里先来给大家,介绍一下,如何利用循环实现多组输入的问题,我们可以利用scanf的返回值来作为判断条件,让他和EOF来进行比较,如果不等于EOF我们就继续进行scanf的数据的录入,当然我们在输入数字这一类型的数据时,回车这个东西在我们scanf从缓冲区中拿走数字之后,直接就被销毁了(我是这么理解的,当然你也可以把他理解为,scanf自动忽略了\n),这里如果想让程序结束的话,可以用crtl+z来控制程序的结束

  • 您还可以看一下 张景平老师的C语言零基础入门(计算机二级考试)课程中的 06-16 scanf函数特殊用法小节, 巩固相关知识点