| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:[求助]一个数组小程序的错误
取消只看楼主 加入收藏
knightman
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-9-2
收藏
 问题点数:0 回复次数:3 
[求助]一个数组小程序的错误

#include <stdio.h>
string_cut(char string[],char a)
{ int i,j;
for(i=0;i<9;i++)
if(string[i]=='f')
{for(j=0;j<9;j++)
string[j]=string[j+1];}
}
main(){
char array[9],ch='f';
array[9]={'a','b','c','d','e','a','f','f','e'};
string_cut(array[9],'f')
printf("%s\n",array);
}
高手帮忙找下这个程序的错误~谢谢

[此贴子已经被作者于2007-9-4 15:36:17编辑过]

2007-09-04 15:15
knightman
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-9-2
收藏
得分:0 

2楼的版主,你的程序完全正确,不过我想提个问题:

void string_cut(char string[],char a)
{ int i,count=0,flag;
for(i=0;i<9-count;i++)
{
flag=0;//设置A出现的标记
if(string[i]==a)
{
count++;//计数器
flag=1;
}
string[i]=string[i+count];//移动
if(flag)i--;//重新判断string[i]
}
string[9-count]='\0';//没有这个,输出可能有乱码.
}
这个函数里面最后一个语句string[9-count]='\0'; 我给出的数组里面有2个‘f’,按说 你最后一个语句 应该运行2次,好像是只运行了一次吧,这是怎么回事??

2007-09-04 23:38
knightman
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-9-2
收藏
得分:0 
3楼和4楼的朋友~你们的算法是对的,不过也可能是我疏忽了,我要求是编写函数来写算法的,还是谢谢你们,大家一起再接再厉
2007-09-04 23:42
knightman
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-9-2
收藏
得分:0 
回复:(nuciewth)#include string_c...

谢谢版主的帮助,您的程序我运行过了,是正确的,不过我还想提个问题:
void string_cut(char string[],char a)
{ int i,count=0,flag;
for(i=0;i<9-count;i++)
{
flag=0;
if(string[i]==a)
{
count++;
flag=1;
}
string[i]=string[i+count];
if(flag)i--;
}
string[9-count]='\0';
}
您写的这个函数,最后一句 string[9-count]='\0'; 我给出的数组里有2个‘f’,按说是应该 运行2次, 但貌似是只运行了一次吧~ 这是怎么回事?? 希望解释下~谢谢

2007-09-04 23:46
快速回复:[求助]一个数组小程序的错误
数据加载中...
 
   



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

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