写了一个C语言函数判断一个字符数组J[]内容是否全为字符‘0’。

但是我有一个问题是,返回值就一个return0是不是合理,或者是不是有错误?intJudge(char*J){inti;for(i=0;i<strlen(J);i++){... 但是我有一个问题是,返回值就一个return 0是不是合理,或者是不是有错误?
int Judge(char *J)
{
int i;
for(i=0;i<strlen(J);i++)
{
if(J[i]=='1')
break;
}
return 0;
}
展开
 我来答
2010huolong
2012-03-29 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:63.6万
展开全部
首先你的程序不合理,,如下改
char Judge(char *J) //设返回的值为字符,所以用char
{
int i;
for(i=0;i<strlen(J);i++)
{
if(J[i]!='0') //你要判断的是否全为'0',只要有一个不为'0',结论就不成立
break;
}
return J[i];
}
追问
谢谢!感觉这样写很好,只是最佳答案让我找到了问题所在,不然最佳就给你了~
sq...i@sina.com
2012-03-29 · TA获得超过142个赞
知道答主
回答量:225
采纳率:0%
帮助的人:165万
展开全部
恩,应该有点问题,返回值应该有两个选择,全为‘0’,返回一个值;不全为‘0’,返回一个值。例如:
#include<stdio.h>
#include <string.h>
int Judge(char *J)
{
int i;
for(i=0;i<strlen(J);i++)
{
if(J[i]!='0')
return 1;
}
return 0;
}

void main()
{
char J[6] = "00000";
int a = Judge(J);
if (a == 1)
{
printf("%s\n","不全为'0'!");
}
else
printf("%s\n","全为'0'");

}
追问
谢谢你,这样是正确的,选你!我看是也是这么写的,只是感觉当执行完for语句后,还会执行return 0,所以就没敢这么写。后来我看了一下C语言的书,才知道函数碰到return就会停止。基础知识没打牢,见笑了。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7c532e2
2012-03-29 · 超过21用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:44.6万
展开全部
你写的子函数int Judge(char *J),是int 类型,返回0可以与之对应,当然可以!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式