Arrays 在不使用任何库的情况下反转字符串
现在我想实现一个函数来“反转”给定的字符串。我的想法不是交换,而是在实现的函数中声明一个新数组,以吸收处于相反状态的新字符串。 代码如下:Arrays 在不使用任何库的情况下反转字符串,arrays,string,function,pointers,reverse,Arrays,String,Function,Pointers,Reverse,现在我想实现一个函数来“反转”给定的字符串。我的想法不是交换,而是在实现的函数中声明一个新数组,以吸收处于相反状态的新字符串。 代码如下: #include <stdio.h> #include <stdlib.h> void reverseString( char string[ ], int size ); int main() { char string[ 14 ] = "reverse me"; printf( "The string is:
#include <stdio.h>
#include <stdlib.h>
void reverseString( char string[ ], int size );
int main()
{
char string[ 14 ] = "reverse me";
printf( "The string is: %s\n", string );
reverseString( string, 14 );
return 0;
}
void reverseString( char string[ ], int size )
{
int i, j;
char newString[ size ];
for( ( i = ( size ) ) & ( j = 0 ); ( i >= 0 ) && ( j < ( size ) ); i-- & j ++ )
{
newString[ j ] = string[ i ];
}
printf( "\nThe string reversed: %s\n", newString );
}
#包括
#包括
void reverseString(字符字符串[],整数大小);
int main()
{
字符字符串[14]=“反转我”;
printf(“字符串为:%s\n”,字符串);
反向限制(字符串,14);
返回0;
}
无效反向字符串(字符字符串[],整数大小)
{
int i,j;
char新闻字符串[大小];
对于((i=(大小))和(j=0);(i>=0)和((j<(大小));i--&j++)
{
newString[j]=字符串[i];
}
printf(“\n反转的字符串:%s\n”,新闻字符串);
}
有谁能帮我想一下倒弦的方法吗?当我看我的代码时,我是在接近这个想法还是什么
函数反向限制(字符串){
var splitedString=string.split(“”);
var reverseArray=splitedString.reverse();
var joinArray=reverseArray.join(“”);
返回数组;
}
var newString=reverseString(“你好”);
console.log(新闻字符串)代码>字符串可以称为一个字符数组,其末尾有一个空字符“\0”。如果字符串是“Banana”,那么编译器实际上会将其视为“Banana\0”。在程序中处理字符串时,必须记住将空字符附加到所创建的字符串中
以下是相同的工作代码-
#include <stdio.h>
int main()
{
char string[10] = "banana";
char reverse[10];
int start, end, length = 0;
// Calculating string length - to be used when length is not already known
/*while (string[length] != '\0')
length++;*/
//in this case
length=10;
end = length - 1; /*this is done because indexing in arrays and strings starts
at 0, not at 1...so string[0] gives first character of the
string and string[size-1] gives the last character of the
string*/
for (start = 0; start < length; start++)
{
reverse[start] = string[end];
end--;
}
reverse[start] = '\0'; //here we add the null character to the end of the string
printf("%s\n", reverse);
return 0;
}
#包括
int main()
{
字符字符串[10]=“香蕉”;
字符反转[10];
int开始,结束,长度=0;
//计算字符串长度-长度未知时使用
/*while(字符串[长度]!='\0')
长度++*/
//在这种情况下
长度=10;
end=length-1;/*这是因为数组和字符串中的索引开始了
在0处,而不是在1处…所以字符串[0]给出
字符串和字符串[size-1]给出
串*/
对于(开始=0;开始<长度;开始++)
{
反向[开始]=字符串[结束];
结束--;
}
reverse[start]='\0';//这里我们将空字符添加到字符串的末尾
printf(“%s\n”,反向);
返回0;
}
看看你的代码,你的想法是正确的。你只需要温习一些概念,比如字符串索引、字符串中的空字符等
使用库函数也可以做同样的事情。Prakash Bansal我需要知道为什么要计算字符串的长度,当你可以通过自己实现的索引知道长度时??我在接受用户输入时计算了字符串长度,但之后我将长度设置为10,忘了注释掉长度计算部分:-D。。另外,我现在已经编辑了代码。你可以看看,Dananjaya,我在用C,我的朋友。我认为这是另一种语言!:)