| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1082 人关注过本帖
标题:一道C的题,不会做,麻烦各位看一下。
只看楼主 加入收藏
zxdjz1990163
Rank: 1
来 自:河北唐山
等 级:新手上路
帖 子:9
专家分:4
注 册:2012-8-28
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:15 
一道C的题,不会做,麻烦各位看一下。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void  fun(char str[])
{  int t, j;
    for(i=0,j=0;str[i];i++)
        if (isalpha(str[i]))   str[j++]=str[i];
        str[j]='\0';
        

}
main()
{   char ss[80] ="It is!";
    fun(ss);  printf("%s\n",ss);

}
问一下各位这个程序错在哪里,最后结果是多少?
搜索更多相关主题的帖子: include fun 
2012-08-30 19:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你既然知道有错,就把错的现象说出来,不说,就这样扔个破代码上来,我认为这是考验大家的行为,强忍着没锁掉你的。

作为警戒,着色示众。

授人以渔,不授人以鱼。
2012-08-30 19:59
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
回复一下等系统散分
2012-08-30 20:40
sdjk1990
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-7-29
收藏
得分:0 
局部变量定义错了
2012-08-30 21:54
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
回复 3楼 zklhp
尽管我不懂你说的散分是什么,但是觉得跟随了你总没坏处的

我要成为嘿嘿的黑客,替天行道
2012-08-30 22:12
喝醉的猫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:68
专家分:120
注 册:2012-3-13
收藏
得分:0 
可不可以把错误的那段解释发上来啊?不然换的复制自己去试呢
2012-08-30 22:27
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:0 
亮了?
2012-08-30 22:46
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
对这种问题,最佳的回复就是:“你怎么知道错了?”

授人以渔,不授人以鱼。
2012-08-30 22:52
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:5 
一道C的题,不会做,麻烦各位看一下。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void  fun(char str[])
{  int t, j;
    for(i=0,j=0;str[i];i++)                      这个地方还是增强点代码的可读性的好  搞那么多挤一起有毛病   判定语句  str[i]   搞成  str[i]!='\0'         
  if (isalpha(str[i]))   str[j++]=str[i];         有个建议 少用 j++   ++j 什么的  不同的机器处理方式不同 这个是以前谭老师书上说的   但是C语言程序设计 里 说  a=++j 的结果是a=j+1  a=j++  的结果是a=j 我在机器上测试过 后者是对的
='\0';                                   -------->这个地方换成a[j++]='\0'
        

}
main()
{   char ss[80] ="It is!";
    fun(ss);  printf("%s\n",ss);

}
问一下各位这个程序错在哪里,最后结果是多少?            最后结果死循环一个     尼玛isalpha() 这个函数就是为了检查是不是英文字母  有必要 么
                                                        最后评价 这个完全是某某考试的题目,对于出这样题目的老师 我敢说他就是个白痴,傻B   一个不常用的函数 一个可以随便实现的破函数,拿出来显摆,for()循环语句完全不考虑代码的易读性
                                                      

我要成为嘿嘿的黑客,替天行道
2012-08-31 06:39
a675796487
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-8-29
收藏
得分:0 
版主说的对连哪里错都不知道那是不行的
2012-08-31 11:23
快速回复:一道C的题,不会做,麻烦各位看一下。
数据加载中...
 
   



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

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