Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回相同结果的c语言void函数 #包括 #包括 空隙挤压(字符s[],int c); int main(){ 字符x[]=“猫”; int y=10; 挤压(x,y); printf(“%s%d\n”,x,y); 返回0; } 空挤压(字符s[],整数c){ int i,j; 对于(i=j=0;s[i]!='\0';i++) 如果(s[i]!=c) s[j++]=s[i]; s[j]='\0'; }_C_Void - Fatal编程技术网

返回相同结果的c语言void函数 #包括 #包括 空隙挤压(字符s[],int c); int main(){ 字符x[]=“猫”; int y=10; 挤压(x,y); printf(“%s%d\n”,x,y); 返回0; } 空挤压(字符s[],整数c){ int i,j; 对于(i=j=0;s[i]!='\0';i++) 如果(s[i]!=c) s[j++]=s[i]; s[j]='\0'; }

返回相同结果的c语言void函数 #包括 #包括 空隙挤压(字符s[],int c); int main(){ 字符x[]=“猫”; int y=10; 挤压(x,y); printf(“%s%d\n”,x,y); 返回0; } 空挤压(字符s[],整数c){ int i,j; 对于(i=j=0;s[i]!='\0';i++) 如果(s[i]!=c) s[j++]=s[i]; s[j]='\0'; },c,void,C,Void,此函数是“从s中删除所有c”。我不知道如何使它工作。此函数的输出为猫,10,没有任何变化。我在这里做错了什么吗?该函数工作正常 问题是字符串cats不包含字符10,因此您不应该期望更改。在从ASCII派生的代码集中,字符10是换行符'\n'字符。创建字符串char z[]=“一行\n或\n多行\n”并调用sqeeze(z,'\n'),打印前后的z: #include <stdio.h> void squeeze(char s[], int c); int main(void) {

此函数是“从s中删除所有c”。我不知道如何使它工作。此函数的输出为猫,10,没有任何变化。我在这里做错了什么吗?

该函数工作正常

问题是字符串
cats
不包含字符
10
,因此您不应该期望更改。在从ASCII派生的代码集中,字符
10
是换行符
'\n'
字符。创建字符串
char z[]=“一行\n或\n多行\n”并调用
sqeeze(z,'\n'),打印前后的
z

#include <stdio.h>

void squeeze(char s[], int c);

int main(void)
{
    char x[] = "cats";
    int y = 10;

    printf("before: [%s] %d\n", x, y);
    squeeze(x, y);
    printf("after:  [%s] %d\n", x, y);

    printf("%s %d\n", x, y);
    char z[] = "One\nline\nor\nmany\n";
    printf("before: [%s]\n", z);
    squeeze(z, '\n');

    printf("after:  [%s]\n", z);
    return 0;
}

void squeeze(char s[], int c)
{
    int i, j;
    for (i = j = 0; s[i] != '\0'; i++)
        if (s[i] != c)
            s[j++] = s[i];

    s[j] = '\0';
}

该功能工作正常

问题是字符串
cats
不包含字符
10
,因此您不应该期望更改。在从ASCII派生的代码集中,字符
10
是换行符
'\n'
字符。创建字符串
char z[]=“一行\n或\n多行\n”并调用
sqeeze(z,'\n'),打印前后的
z

#include <stdio.h>

void squeeze(char s[], int c);

int main(void)
{
    char x[] = "cats";
    int y = 10;

    printf("before: [%s] %d\n", x, y);
    squeeze(x, y);
    printf("after:  [%s] %d\n", x, y);

    printf("%s %d\n", x, y);
    char z[] = "One\nline\nor\nmany\n";
    printf("before: [%s]\n", z);
    squeeze(z, '\n');

    printf("after:  [%s]\n", z);
    return 0;
}

void squeeze(char s[], int c)
{
    int i, j;
    for (i = j = 0; s[i] != '\0'; i++)
        if (s[i] != c)
            s[j++] = s[i];

    s[j] = '\0';
}

由于字符串
cats
不包含字符
10
,您不应该期望更改,是吗?在从ASCII派生的代码集中,字符
10
是换行符
'\n'
字符。创建字符串
char z[]=“一行\n或\n多行\n”并调用
挤压(z,'\n'),前后打印
z
。收到了。谢谢您忘记了ascii码。由于字符串
cats
不包含字符
10
,您不应该期望更改,是吗?在从ASCII派生的代码集中,字符
10
是换行符
'\n'
字符。创建字符串
char z[]=“一行\n或\n多行\n”并调用
挤压(z,'\n'),前后打印
z
。收到了。谢谢你忘了ascii码。