c语言,为什么c语言精髓 指针会出现这种情况

19:44 提问
C语言的递归算法,编译为什么会出现这样的结果
按赞数排序
首先你这不是递归算法,递归算法最基本的必须运算过程中直接或者间接的调用函数本身。
你的这个为题应该是 scanf() 函数的用法问题,去掉scanf()函数中除了
以外的字符应该就没有问题了。
scanf()函数把从键盘读入的数存入指定的变量中,在你的程序中就是读入的数字放入整型变量n中,你的scanf()函数中除了有%d格式控制符外,还有一堆字符串,肯定是不对的。前面的格式化控制符,确定你要从键盘读入的数据的类型。
因为scanf语句里面必须标准匹配!
scanf("请输入递归值%d",&n);
你就必须在屏幕输入以下内容:请输入递归值%d
写一个递归求和的给你
int foo(int n)
if (n == 1) return 1;
return n + foo(n - 1);
int main()
int n = 0;
scanf("%d", &n);
int sum = foo(100);
printf("%d\n", sum);
int foo(int n)
if (n == 1) return 1;
return n + foo(n - 1);
int main()
int n = 0;
scanf("%d", &n);
int sum = foo(n);
printf("%d\n", sum);
85关注|923收录
447关注|560收录
313关注|544收录
其他相似问题
相关参考资料C语言中关于if语句的问题为什么会出现以下情况,if正好起到了相反的效果,怎么改
我把你的代码输入进去,同样用GCC编译,运行,没有任何问题啊.#include&stdio.h&#include&stdlib.h&#include&string.h&#include&stdbool.h&void&main(void){&&&&char&a[40]={'\0'};&&&&char&b[40]={'\0'};&&&&int&t;&&&&bool&same=&&&&&&&&scanf(&%s&,a);&&&&scanf(&%s&,b);&&&&if&(strlen(a)&!=&strlen(b))&&&&&&&&same=&&&&else&&&&{&&&&&&&&for&(t=strlen(a)-1;t&=0;t--)&&&&&&&&&&&&if&(a[t]&!=&b[t])&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&same=&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&}&&&&printf(&%s\n%s\n%s\n&,&same==true&?&&true\0&&:&&flase\0&,a,b);}
为您推荐:
其他类似问题
扫描下载二维码c语言,为什么会出现这样问题_百度知道
c语言,为什么会出现这样问题
p>&nbsp://b.hiphotos://b://b.jpg" esrc="http.baidu.hiphotos.hiphotos.baidu.&nbsp.hiphotos.baidu.baidu./zhidao/wh%3D600%2C800/sign=2d41fb2cf435cc610d0aaf/c995d143ad4bdbfe5cafa40f4afb05a6.hiphotos.baidu://e.com/zhidao/pic//zhidao/pic/item/35a85edf8db1cbdfdbbfc.hiphotos://g.hiphotos.hiphotos.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http://e://a://a.hiphotos.baidu://e./zhidao/wh%3D450%2C600/sign=6ca26ecaa9cd8e2ddef49b73/838ba61ea8d3fd1f5e251f94ca5f8a;&nbsp://e://g.jpg" />&/zhidao/wh%3D450%2C600/sign=ea8bfc012663/bd3eb1bb778312ffb1faa6.jpg" esrc="http://g.<a href="/zhidao/pic/item/838ba61ea8d3fd1f5e251f94ca5f8a;&/zhidao/wh%3D450%2C600/sign=35c67f317d899e97f505/35a85edf8db1cbdfdbbfc
提问者采纳
函数里面的
t最后没有加字符串结束标识&#39;&#92;0&#39;
不是很明白
要怎么加?
mcopy函数里面的,在while循环外面
加t[i]=&#39;&#92;0&#39;;
可以了,谢谢
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
来自团队:
其他类似问题
为您推荐:
其他1条回答
这写错了scanf(&%s&quotscanf(&%s&quot
有没有都是一样的
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁该怎的理解文件结尾,如果用getc()函数读到文件结尾了,还接着往下读会出现什么情况 - C语言当前位置:& &&&该怎的理解文件结尾,如果用getc()函数读到文件结尾该怎的理解文件结尾,如果用getc()函数读到文件结尾了,还接着往下读会出现什么情况&&网友分享于:&&浏览:6次该怎样理解文件结尾,如果用getc()函数读到文件结尾了,还接着往下读会出现什么情况下面这是一个程序的一部分,加与不加注释行,都可以得到正确结果;
if&(ch1&!=&EOF&||&ch2&!=&EOF)
putchar&('\n');
//if&(ch1&!=&EOF)&&&&&&&//&注释掉的两行可以加上,可以确保ch1或ch2&达到EOF不往下读了
ch1&=&getc&(f1);&&//&但如果去掉了,有可能ch1&或ch2&达到EOF了,getc语句还会读取文件
//if&(ch2&!=&EOF)&&&&&&&&//中的内容,还是EOF吗?&EOF文件结尾也想‘\0’空字符一样吗?
ch2&=&getc&(f2);&&//还是达到文件结尾以后的字符都是EOF?
------解决方案--------------------& while((ch=fgetc(fp))!=EOF)------解决方案--------------------EOF&不是文件内容
是函数fgetc&读取失败的返回值------解决方案--------------------读到文件尾,没数据了怎么继续读啊,肯定会中止啊。------解决方案--------------------引用:EOF&不是文件内容
是函数fgetc&读取失败的返回值
EOF&=&End&Of&File,&没有对应的字符
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有}

我要回帖

更多关于 c语言 字符串出现次数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信