| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1073 人关注过本帖
标题:字符串长度问题,对我打击老大了。。。刚学会了点指针。。。
只看楼主 加入收藏
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
结帖率:100%
收藏
已结贴  问题点数:1 回复次数:13 
字符串长度问题,对我打击老大了。。。刚学会了点指针。。。
程序代码:
#include< stdio.h >
#include< stdlib.h >
void main()
{
    int size_t( char *t );
    char t[] = { 'a',' b', 'c', 'd' };
    int l;
    l = size_t( t );
    printf( "%d",l);
    system( "pause" );
}

int size_t( char t[] )
{
    int length = 0;
    for( ; *t++ !='\0';length +=1)
        return length;
}
为什么答案是4, 我的是0
搜索更多相关主题的帖子: 字符串 color 
2011-10-11 18:19
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
你这个 程序 首先 就是 错的 你的 0 是怎么 出来的 我很好奇~

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-11 18:24
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 吴军旗
代码是错的,而且不只一个问题

总有那身价贱的人给作业贴回复完整的代码
2011-10-11 18:26
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
回复 楼主 吴军旗
分太扫,不想解释

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-10-11 18:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
真是打击太大了~

授人以渔,不授人以鱼。
2011-10-11 18:35
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
程序代码:
#include< stdio.h >
#include< stdlib.h >
int sizet( char t[] )
{
    int length = 0;
    for( ; *t++ !='\0';length +=1);//这里
        return length;
}
void main()
{
    char t[] = "abcd";
    int l;
    l = sizet( t );
    printf( "%d",l);
    system( "pause" );
}
少了个分号

                                         
===========深入<----------------->浅出============
2011-10-11 18:40
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
程序代码:
# include <stdio.h>

int size_123 (char *t)
{
    for(int length = 0; *t++ !='\0';length +=1)
    {}
    return length;
}

int main (void)
{
    int l;
    char t[] = "sdasjfdsafdsf";
    char * p;
    p = t;
    l = size_123 (p);
    printf ("%d",l);
    return 0;
}


....诶 本来想改你的 越改 越错 ............

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-11 18:51
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 6楼 laoyang103
为什么加了个就行了啊,一般for 语句不是不要加分号啊,你的这个是什么情况

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-11 23:54
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 8楼 吴军旗
你先想一下for括号里面三条语句都有啥含义?写出来,然后咱们再往下看

总有那身价贱的人给作业贴回复完整的代码
2011-10-12 00:05
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 7楼 零波丽
我改了个程序,也能运行,你的是怎么回事,给我说说呗





我改的:
程序代码:
#include< stdio.h >
#include< stdlib.h >


void main()
{    int a( char t[]);
    char t[] = "abcd";
    int l;
    l = a( t );
    printf( "%d",l);
    system( "pause" );
}

int a( char t[] )
{
    int length = 0;
    while( *t !='\0')
        length++,*t++;
        return length;
}


最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-12 00:29
快速回复:字符串长度问题,对我打击老大了。。。刚学会了点指针。。。
数据加载中...
 
   



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

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