Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在不使用任何库的情况下反转字符串_Arrays_String_Function_Pointers_Reverse - Fatal编程技术网

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,我的朋友。我认为这是另一种语言!:)