void reverse(char s[]) {
int i;
int len = 0;
for (i=0; s[i] != '0'; i++) {
len = len + 1;
}
这是我上面的代码。 s []是我试图扭转的字符串;请帮忙!感谢
答案 0 :(得分:5)
使用'\0'
测试空终止字符。
for (i=0; s[i] != '\0'; i++) {
len = len + 1;
}
答案 1 :(得分:1)
void reverse(char s[]) {
size_t i,j;
for(i=0; s[i] != '\0'; ++i)
;
if(i < 2)
return ;
for(j=0; j < --i; ++j){
char c = s[i];
s[i] = s[j];
s[j] = c;
}
}
答案 2 :(得分:1)
There isn't a strrev
in standard C,但网络上有很多可用的实现。这是我找到的here:
#include <string.h>
char *strrev(char *str)
{
char *p1, *p2, c;
if (! str || ! *str)
return str;
for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2)
{
c = *p1;
*p1 = *p2;
*p2 = c;
}
return str;
}
请注意,这会修改给定的字符串并执行相反的操作。
答案 3 :(得分:0)
Strings
中的 C
只是以null
或\0
字符结尾的字符数组。
将条件s[i] != '0'
更改为检查索引i
处的字符是否为空的条件。
答案 4 :(得分:0)
使用
strrev(string1,string2)
string.h标头中的。您也可以使用
strlen(string1)
从相同的标题中找到长度。