我已经编写了以下代码,它工作正常。但在我进行更改之前,我输入了一些我预计会起作用但没有起作用的语句。就像试验一样,我做了一些改变,它奏效了。请澄清我做错了什么。我最初尝试使用简单的程序来更好地理解指针。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
int i;
char *instring,*outstring;
char ch,p;
instring = (char*)malloc(15*sizeof(char));
outstring= (char*)malloc(15*sizeof(char));
printf("Enter the string:");
gets(instring);
printf("Enter the character to be removed:");
scanf("%c",&ch);
for(i=0;i<strlen(instring);i++)
{
if( *(instring+i) != ch)
{
*(outstring+i) = *(instring+i);
printf("%c",*(outstring+i));
}
}
在 if 语句下,我写了以下内容:
if(*(instring) != ch)
{
*outstring = *instring;
printf("%c",*(outstring));
instring++;
outstring++;
}
为什么这不起作用?