C反转不工作的字符串
有人能检查一下这个代码,看看它是否有效吗 它应该反转输入的字符串(例如,“hello”应该变成“olleh”)C反转不工作的字符串,c,string,reverse,C,String,Reverse,有人能检查一下这个代码,看看它是否有效吗 它应该反转输入的字符串(例如,“hello”应该变成“olleh”) void stringReverse(char string1[]) { int长度,i,j,k; char-tmp; 长度=strlen(string1); j=长度-1; printf(“长度:%i”,长度); 对于(i=0;i
void stringReverse(char string1[])
{
int长度,i,j,k;
char-tmp;
长度=strlen(string1);
j=长度-1;
printf(“长度:%i”,长度);
对于(i=0;i
它完全按照您告诉它的方式工作。您的周期必须达到length/2
,而不是length
char*strev(char*s){
char* strrev(char* s) {
char* h = s;
char* t = s;
char ch; `
while(*t++){};
t -= 2;
while(h < t){
ch = *h;
*h++ = *t; /* h向尾部移动 */
*t-- = ch; /* t向头部移动 */
}
return(s);
}
char*h=s;
char*t=s;
char ch`
而(*t++){};
t-=2;
而(h
功能:strev
。这就是执行
希望这能对您有所帮助。
查看此代码并检查它是否正常运行
-您尝试过运行它吗?你的标题意味着你做了,但它不起作用,你得到了什么结果?您是否使用调试器单步执行代码?它正在反转字符串,您只是将其反转回来。i
-->i
reverse and repeat=nothing。
char* strrev(char* s) {
char* h = s;
char* t = s;
char ch; `
while(*t++){};
t -= 2;
while(h < t){
ch = *h;
*h++ = *t; /* h向尾部移动 */
*t-- = ch; /* t向头部移动 */
}
return(s);
}