yuexinBW 发表于 2014-12-20 17:16:48

程序没有报错但是输入完后不出结果直接停止工作了

#include<iostream>

using namespace std;

void main()
{
        void enterstring(char str);
        void deletestring(char str,char ch);
        void printstring(char str);
       
        char c;
        char str;
       
       
        enterstring(str);
        scanf("%c",&c);
        deletestring(str,c);
        printstring(str);
       
       
}
void enterstring(char str)
{
        gets(str);
}
void deletestring(char str,char ch)
{
        int i,j;
        for(i=j=0;str!='\0';i++)
        {
                if(str != ch)
                {
                        str=str;
                }
               
        }        str='\0';
       
}
void printstring(char str)
{
        for(int i=0;i<100;i++)
                cout<<str;
}

zx154140599 发表于 2014-12-20 17:16:49

#include<iostream>

using namespace std;

void main()
{
      void enterstring(char *str);
      void deletestring(char *str,char ch);
      void printstring(char *str);
      
      char c;
      char str;
      
      
      enterstring(str);
      scanf("%c",&c);
      deletestring(str,c);
      printstring(str);
      
      
}
void enterstring(char *str)
{
      gets(str);
}
void deletestring(char *str,char ch)
{
      int i,j;
      for(i=j=0;str!='\0';i++)
      {
                if(str != ch)
                {
                        str=str;
                }
               
      }      
                str='\0';
      
}
void printstring(char *str)
{
      for(int i=0;i<strlen(str);i++)
                cout<<str;
}
这下应该可以了,你试试

zx154140599 发表于 2014-12-23 11:01:32

首先char str怎么能给当函数参数?
并且for(i=j=0;str!='\0';i++)这里str是一个地址怎么能等于‘\0’呢?我不知道你要实现的功能是什么。传递数组时最好使用指针来做。

zx154140599 发表于 2014-12-23 11:05:30

你这程序的功能应该是删除字符串str里和ch一样的字符吧?
页: [1]
查看完整版本: 程序没有报错但是输入完后不出结果直接停止工作了