首页  >  问答  >  正文

c语言字符数组中删除一个字符

输入十个字符,再删除其中与我输入那个字符相同的的字符,不知道为什么我写的这个一直就是删除最后一个字符,求大神看下

#include <stdio.h>
int main( void )
{
    int    n, j;
    char    i[10];
    char    c;
    for ( n = 0; n < 10; n++ )
        scanf( "%c", &i[n] );
    scanf( "%c", &c );
    for ( n = 0; n < 10; n++ )
    {
        if ( i[n] == c )
        {
            i[n] = i[n + 1];
            for ( j = n + 1; j < 10; j++ )
            {
                i[j] = i[j + 1];
            }
        }
    }
    for ( n = 0; n < 9; n++ )
        printf( "%c", i[n] );
    return(0);
}


高洛峰高洛峰2883 天前721

全部回复(1)我来回复

  • 三叔

    三叔2016-10-31 09:51:29

    调试一下就可以发现错误了。
    scanf( "%c", &c );这里出现了问题。

    1.png

    回复
    0
  • 取消回复