刚学C,没看出来为什么这个报错,求详细讲解(C语言编程)(空格替换)
2条回答 默认 最新
- 快乐鹦鹉 2022-08-30 13:48关注
首先应该是 char * i = str;
其次应该是 * i = '%'。双引号是字符串,* i是字符,要用单引号
最后你没用return 语句。
根据上面的提示,你应该在函数内malloc分配字符串,将处理后的字符写入新字符串,然后return这个字符串char * replacespaces(char *str) { char * s = (char*)malloc(sizeof(char)*3000); int i=0,j=0; while(str[i] != '\0') { if(str[i] != ' ') s[j++] = str[i]; else { s[j++] = '%'; s[j++] = '2'; s[j++] = '0'; } i++; } s[j] = '\0'; return s; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用