永发信息网

C语言程序,求字符串长度。请大家帮我看看哪错了,在线等→_→

答案:1  悬赏:40  手机版
解决时间 2021-03-21 03:36
C语言程序,求字符串长度。请大家帮我看看哪错了,在线等→_→
最佳答案
哥们,你都没有输入,你怎么计算啊:
length = f(n);
这句的前面加一句gets(n);


还有一点就是int i, j;这句改为int i, j = 0;
还有return (j-1);这句和下一句交换一下位置,并改为return (j);


修改后:
#include 
int main(void)
{
    int f(char * n);
    char n[100];
    int length;

    printf("请输入字符串:");
    gets(n);
    length = f(n);
    printf("字符串长度为:%d
",length);

    return 0;
}

int f(char * n)
{
    int i,j = 0;
    for(i = 0;*(n +i) != '';i++)
    {
        j++;

    }
    return(j);
}追问谢谢您!!
输入那块和j=0我提问完之后都意识到了,
不过您说“return (j-1);这句和下一句交换一下位置,并改为return (j); ”
这一句我是从网上抄的,所以也不知道为什么,改了之后也还是不知道为什么,所以您能不能帮我解释一下~谢谢啦!!追答'\0'是一个字符串的结束标识,遇到'\0'就不循环了,实际上j的最后结果就是最后字符串的有效长度,即实际长度,return放到循环内部,那么第一次循环的时候就会跳出函数了,得等到循环结束才能测到字符串长度,所以放到循环外面。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
红烧英语怎么讲
容声冰箱BCD-202M/T温控器在什么位置
登峰摩托车电动车修理部地址在什么地方,想过
穿越火线:不花钱怎样得到改名卡,五元以下也
快廉香饭店这个地址在什么地方,我要处理点事
怎么看喜用神
四川射洪太中数学老师范文俊,课讲得好吗?
魔女兵器是根据那部动漫的?
唯影怎么去啊,有知道地址的么
农村田边有一宝,专治白发
茜菲这个地址在什么地方,我要处理点事
借钱急用
国合快车汽车生活馆是做什么的
乐平三中那边房价多少
做鱼池打混泥土怎么做?
推荐资讯
单选题有一条从东向西流的河流,南岸侵蚀较厉
卫小倩5201314的藏头诗
浴霸风暖只关风不关热会怎么样
森山大道用什么相机
求骂渣男的经典话语,第一次约会就对我动手动
汽车第二次保养免费吗?
亚布力国际会议展览中心-洗手间在什么地方啊
梦见钥匙丢了又找回来了,什么意思?
怎么才能切换到外服的战网
英语中“我是爱尔兰人”有嘛特殊的含义吗?
鹿死谁手是什么意思
联想电脑好,还是清华同方的好》??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?