为什么我的C语言程序没有输出?哪错了?
5个回答
展开全部
首先指出你写的一处错误,fun函数没有返回值。你要么定义为void,既然定义成int,就要返回数据。
代码可能需要优化下....
输入定义成字符串,不必用char数组,然后如果用while就用while,用for就用for,干嘛都一起用,大致可以这么写(自己定义下变量,另外没必要把变量定义到和main fun一个级别,这样不利于释放空间,就用局部变量,然后fun可以用传参的方式)
int i=0;
scanf('%s',&str)
while(str[i]!=条件){
switch()或者if 判断符合哪种统计方式
i++;
}
追问
加了return 0也不行啊
追答
你按照我给你的推荐只写一个while吗?你现在的代码不是死循环吗?当i=0的时候while条件一直非换行所以永远跳不出去!你把while判断删掉吧,基本就能得到最终答案
展开全部
对字符串应该使用字符串结束标志进行检测,即测试fun函数while循环里的a[ⅰ]!=0判断到了字符串末尾,回车键在输入时不会输入到字符数组里面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
仔细看了你的题目要求和你编写C语言程序,单从程序看看不出有问题,我没有C语言编程工具,无法调试,只能给你一些建议,第一个建议使用编程工具通过的断点跟踪调试,找出问题。第二个建议,增加输出语句,打印中间变量,静态分析。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把while(a[i]!='\n')
改为if(a[i]!='\n')
事实上这句语句不写也行
改为if(a[i]!='\n')
事实上这句语句不写也行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询