注册 登录
编程论坛 C++教室

求等地啊输入的字符串的长度,不用str函数

fl8962 发布于 2012-11-01 00:21, 517 次点击
#include<stdio.h>                    这是我写的两个求字符串长度的程序,求指点哪里错了。。自学没老师问,可怜
void main()
{
    char *a,b[100];
    a=b;
    scanf("%s",a);
    char *p;
    int i=0,j=1;
    for(i=0;a[i]!='\0';i++)
    {
        j++;
    }
    printf("%d",j);
}
#include<stdio.h>
void main()
{
    char *a,b[100];
    a=b;
    scanf("%s",a);
    char *p;
  p=a;
    int j=1;
    for(;*p!='\0';p++)
    {
        j++;
    }
    printf("%d",j);
4 回复
#2
w5277050902012-11-01 10:55
程序代码:
#include<stdio.h>                   // 这是我写的两个求字符串长度的程序,求指点哪里错了。。自学没老师问,可怜
void main()
{
    char *a,b[100];
    char *p;
    int i=0,j=0;
    a=b;
    scanf("%s",a);
    for(i=0;a[i]!='\0';i++)
    {
        j++;
    }
    printf("%d",j);
}


你的思路完全没问题,只是结构的问题 ,你对比对比我的
不要等到要用的才定义数据,在开头就都定义好。
还有,你定义的p是用来干什么的呢 ?你根本就没用这个

[ 本帖最后由 w527705090 于 2012-11-1 10:58 编辑 ]
#3
fl89622012-11-01 11:23
回复 楼主 fl8962
既然程序是向下运行的,只要再执行前有这个变量就好呀?为什么一定要在开头定义呢?
#4
JYIT2012-11-01 12:20
做什么要把b赋给a?这个完全没必要,另外J最后的值也不是该字符串的长度
#5
zhuanjia02012-11-01 17:55
帮你改进了下

程序代码:
#include "string"
#include<stdio.h>
void main()
{
    char a[100];
    scanf("%s",a);
    int i=0;//,j=0;
    for(i=0;a[i]!='\0';i++)
    {
        //j++;
    }
    printf("%d\n",i);
    printf("%d\n",strlen(a));
}
1