看看这个程序哪里不对

pbdwadr 2006-05-04 02:22:39
为什么输入整数后程序就不对了
#include <iostream>
#include <cstring>

using namespace std;

int main()
{
int n;
cin >> n;

for( int k=0; k<n; k++)
{
char str[50];
char com[10];

gets(str);
gets(com);

if(com[0]=='D')
{
for(int a=0; str[a] != '\0'; a++)
{
if(str[a] == '\0')
{
cout << "error" << endl;
break;
}
else if(str[a] == com[2])
{
for(int b=a; str[b] != '\0'; b++,a++)
{
str[b] = str[a+1];
}

cout << str << endl;
break;
}
}
}

if(com[0]=='I')
{
for(int a=0; str[a] != '\0'; a++)
{
if(str[a] == '\0')
{
cout << "error" << endl;
break;
}
else if(str[a] == com[2])
{
int len = strlen(str);
for(; len != a-1; len--)
{
str[len+1] = str[len];
}

str[a] = com[4];

cout << str << endl;
break;
}
}
}

if(com[0]=='R')
{
for(int a=0; str[a] != '\0'; a++)
{
if(str[a] == com[2])
{
str[a] = com[4];
}
}
cout << str << endl;
}
}
return 0;
}
...全文
300 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sooneboy 2006-05-06
  • 打赏
  • 举报
回复
你程序的目的是什么啊!写清楚了再来!
lang750636 2006-05-06
  • 打赏
  • 举报
回复
看不明白你到底要做什么啊
province_ 2006-05-05
  • 打赏
  • 举报
回复
for(int a=0; str[a] != '\0'; a++)
{
if(str[a] == '\0') //IF多余,因FOR里限制了不可能相等
{
cout << "error" << endl;
break;
}
else if(str[a] == com[2])
{
for(int b=a; str[b] != '\0'; b++,a++)
{
str[b] = str[a+1];
}
gangzichh 2006-05-05
  • 打赏
  • 举报
回复
谁知道你写的是什么东西呀!这样呢
也得简单说一下啊
ENOUGH_XU 2006-05-04
  • 打赏
  • 举报
回复
不知道楼主想要做什么??要包括头文件<stdio.h>->gets
不过好象还是没有输出
wzjall 2006-05-04
  • 打赏
  • 举报
回复
为什么不写的注释呢?这样大家看起来才方便!

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧