我想编写一个使用命令行参数并将其传递给c字符串数组的程序,并将第一个位置分配给指针并指定最后位置,并使用这些指针交换反向字符串,但是我收到错误。< / p>
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
void revString(char const tempString,int length);
char *strcpy(char* s, char* t);
int main(int argc,char const *argv[])
{
if (argc!=2)
{
cerr<<"Usage: "<<argv[0]<<" String\n";
return 1;
}
char tempString[100];
strcpy(tempString, argv[1]);
int length = strlen(argv[1]);
revString(tempString,length);
return 0;
}
void revString(char const tempString,int length)
{
char *arrFront;
char *arrRear;
int i = 0, r = 0;
while(*(arrFront+length)!='\0')
length++;
for(i=length-1; i>=0; i--)
{
*(arrRear+r) = *(arrFront+i);
r++;
}
*(arrRear+r) = '\0';
}
答案 0 :(得分:0)
在函数revString
中,tempString
不应为char const
,其原型应为:
void revString(const char* tempString,int length)
// ^^^^^^^^^^^
您无需添加strcpy
的声明,因为它已经在标题<cstring>