鱼C论坛

 找回密码
 立即注册
查看: 4531|回复: 6

帮我看看这个程序为什么运行不了啊

[复制链接]
发表于 2013-1-17 16:25:44 | 显示全部楼层 |阅读模式
5鱼币
#include<stdio.h>
void main()
{
char c, str[80];
int i, j;
printf("please input character\n");

gets(str);
scanf("%c", c);
for(i = j =0; str[i] != '\0'; i++)
{
if(str[i] != c)
{
str[j++] = str[i];
}
}
str[j] = '\0';
printf("%s\n", str);
}

这个想要实现输入一段字符 然后再输入一个字符      最后剔除那段字符中和那个字符相同的字符 后输出


检查没有错误   运行一开始没错  可是一到最后一步输出就屏幕就出现一个警告框  
上面写着什么的什么的内存。该内存不能为“written”

最佳答案

查看完整内容

粗心导致的错误哈: scanf("%c", &c);
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-17 16:25:45 | 显示全部楼层
  1. #include<stdio.h>

  2. void main()
  3. {
  4.     char c, str[80];
  5.     int i, j;
  6.     printf("please input character\n");

  7.     gets(str);
  8.     scanf("%c", &c);
  9.     for(i = j =0; str[i] != '\0'; i++)
  10.     {
  11.         if(str[i] != c)
  12.         {
  13.             str[j++] = str[i];
  14.         }
  15.     }
  16.     str[j] = '\0';
  17.     printf("%s\n", str);
  18. }
复制代码


粗心导致的错误哈: scanf("%c", &c);
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-17 16:41:19 | 显示全部楼层
#include<stdio.h>
#include<iostream>
using namespace std;
void main()
{
        char c, str[80];
        int i, j;
        printf("please input character\n");

        gets(str);
//        cout << "asdfadaf\n";
        cout << "输入需要去除的字符: "; //
//        scanf("%c", c);
        cin >> c;
        for(i = j =0; str[i] != '\0'; i++)
        {
                if(str[i] != c)
                {
                        str[j++] = str[i];
                }
        }
        str[j] = '\0';
        printf("%s\n", str);
}


gets(str);
scanf("%c", c);
问题在这两句之间,输入字符串完之后你需要敲空格,这个空格读入到c中了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-17 16:46:52 | 显示全部楼层
在读到C字符之前先读一次回车
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-17 17:24:14 | 显示全部楼层
scanf("%c",&c);加个&
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-17 19:41:59 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-17 21:04:04 | 显示全部楼层
沫沫__挂Q而已 发表于 2013-1-17 19:41
str[j] = '\0';
   这行可以省略的吧?

最好不要~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-9 04:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表