| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:为什么没输入就编译出结果
只看楼主 加入收藏
sunpy
Rank: 1
来 自:厦门
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-10-1
结帖率:100%
收藏
 问题点数:0 回复次数:3 
为什么没输入就编译出结果
//求一个字符串的长度
#include<stdio.h>
#define N 1000
int
main()
{
    //变量定义
    int length=0,i;
    char a[N],*p;
    p=a;
    int count(char * p);
    //输入字符串
    printf("please input the string:\n");
    for(i=0;i<N&&*(p+i)!='\0';i++)
        scanf("%c",p+i);
    //调用函数计算字符串的长度
    length=count(p);
    //输出字符串色长度
    printf("the length of the string is %d\n",length);
    return(0);
}
int
count(char * p)
{
    int i,n=0;
    for(i=0;i<N&&*(p+i)!='\0';i++)
        n++;
    return(n);
}
不知怎的
我还没有输入字符串
编译器就直接给出结果了
搜索更多相关主题的帖子: int length count 编译 
2007-12-01 12:36
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
收藏
得分:0 
#include<stdio.h>
#define N 1000
 int count(char * p);
main()
{
    int length=0,i;
    char a[N],*p;
    p=a;

    printf("please input the string:\n");
    for(i=0;i<N&&*(p+i)=='\0';i++)
        scanf("%s",p);
    length=count(p);
    printf("the length of the string is %d\n",length);
   getch();
    return(0);
}
int
count(char * p)
{
    int i,n=0;
    for(i=0;i<N&&*(p+i)!='\0';i++)
        n++;
    return(n);
}
看红字部分,你的式子中,因为数组a没有赋值,所以数组中的每个元素均为'\0',都满足退出的条件,
所以不给你输入字符的机会,我帮你改的可能不是最好的方法,
我对这 输出输入也不是很了解~另外你发的式子好像有点问题~

凤凰涅磐,浴火重生!

2007-12-01 13:05
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
收藏
得分:0 
#include<stdio.h>
#define N 1000
 int count(char * p);
main()
{
    int length=0,i;
    char a[N],*p;
    p=a;

    printf("please input the string:\n");
    for(i=0;i<N&&*(p+i)=='\0';i++)
        scanf("%s",p);
    length=count(p);
    printf("the length of the string is %d\n",length);
   getch();
    return(0);
}
int
count(char * p)
{
    int i,n=0;
    for(i=0;i<N&&*(p+i)!='\0';i++)
        n++;
    return(n);
}
看红字部分,你的式子中,因为数组a没有赋值,所以数组中的每个元素均为'\0',都满足退出的条件,
所以不给你输入字符的机会,我帮你改的可能不是最好的方法,
我对这 输出输入也不是很了解~另外你发的式子好像有点问题~

凤凰涅磐,浴火重生!

2007-12-01 13:05
sunpy
Rank: 1
来 自:厦门
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-10-1
收藏
得分:0 
谢谢你的指点,我现在发现条条大道通罗马,很多方法都可以实现
//求一个字符串的长度
#include<stdio.h>
#define N 1000
int
main()
{
    //变量定义
    int length=0;
    char a[N],*p;
    p=a;
    int count(char * p);
    //输入字符串
    printf("please input the string:\n");
        gets(p);
    //调用函数计算字符串的长度
    length=count(p);
    //输出字符串色长度
    printf("the length of the string is %d\n",length);
    return(0);
}
int
count(char * p)
{
    int i,n=0;
    for(i=0;i<N&&*(p+i)!='\0';i++)
        n++;
    return(n);
}

荀子《劝学》:“不积跬步,无以至千里;不积小流,无以成江海.”
2007-12-01 16:56
快速回复:为什么没输入就编译出结果
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011146 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved