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

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

哥们,你都没有输入,你怎么计算啊:

length = f(n);

这句的前面加一句gets(n);

还有一点就是int i, j;这句改为int i, j = 0;

还有return (j-1);这句和下一句交换一下位置,并改为return (j);

修改后:

#include <stdioh>

int main(void)

{

    int f(char  n);

    char n[100];

    int length;

    printf("请输入字符串:");

    gets(n);

    length = f(n);

    printf("字符串长度为:%d\n",length);

    return 0;

}

int f(char  n)

{

    int i,j = 0;

    for(i = 0;(n +i) != '\0';i++)

    {

        j++;

    }

    return(j);

}

这时我们可以看到CX的值为1D,为什么是1D

-----

程序进入到存储器后,各个指令,都占用了一定数量的存储单元。

老师出题之后,先运行了一遍,于是,他就知道了:CX的值为1D。

所以,他才这样写出提示。

这个1D,不用当一回事,不用理它。

其它的程序,编译、执行之后,末尾的地址不可能都是1D。

#include <stdioh>

#include <stringh>

#define MAX_SIZE 20  // 字符串的最大长度

int main() {

    int length = 0, i;

    char str[MAX_SIZE];

    gets_s(str); // 输入字符串

    // 遍历字符串的每一个字符得出其长度

    for (i = 0; str[i] != '\0'; i++) {

        length++;

    }

    printf("%d\n", length);

    return 0;

}

#include<stdioh>

#include<stringh>

void main()

{

char a[100];

int i= 0;

printf("input string\n");

gets(a);

while(a[i] != '\0')

i++;

printf("你输入的字符串的长度为%d\n",i);

}

运行结果

input string

abcdefgh

你输入的字符串的长度为8

Press any key to continue

这个很容易实现

#include<iostream>

using namespace std;

int fun(chars);

void main()

{

char s[100];

cout<<"请输入字符串"<<endl;

cin>>s;

cout<<"字符串长度为:"<<fun(s)<<endl;

}

int fun(chars)

{

int ret = 0;

char p = s;

while(NULL != P)

{

p++;

ret ++;

}

return ret;

}

但是我建议你不自己写这样的函数,而用stringh或string里面的strlen函数。

以上就是关于C语言程序,求字符串长度。请大家帮我看看哪错了,在线等→_→全部的内容,包括:C语言程序,求字符串长度。请大家帮我看看哪错了,在线等→_→、王爽汇编语言中的一道题目 这是怎么确定代码段长度的、编写一个程序,求字符串的长度,不要使用strlen函数。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10218841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存