能不能分析一下这个程序

img


能不能分析一下这个程序,最好是可以很详细,看不懂黑笔填的地方为什么这么填

我知道了,有用望采纳

#include <stdio.h>

char s[] = "this , is, string";

void sdele(char s[], char c){
    int i, j ;
    // 遍历 s
    for( i = 0 , j = 0 ; s[i] != '\0' ; ++i ){
        // 如果 现在这个位置 不是要删除的字符的话
        if( s[i] != c ){
            // s 就 原封不动
            s[j++] = s[i];
            /*
            类似于 
            s[j] = s[i];
            j++;
            // 那么j和i就不一样了,j就是改变后的位置,i是识别的位置
            因为 i >= j 所以s[j] 的变化并不会影响 i 去遍历 s
            */
        }
    }
    s[j] = '\0';
}



int main() {
    char c = ',';
    sdele(s,c);
    printf("%s",s);
    
}