strcpy和数组函数char转const char的问题。

问题描述 投票:0回答:1

我不能用函数在字符串中给出一个值。而且我的strcpy总是出问题。

我有一个问题,在 char xc[50]=trying(c);

从'char'到'const char*'的无效转换 [-fpermissive] 。

//This function doing reverse printing.
#include <stdio.h>
#include <string.h>

char trying(char *pchar);

int main()
{

char c[50]="It is a massage";

char xc[50]=trying(c);

printf("%s",xc);

return 0;

}

还有一个问题是 char d=pchar[j-i];

从'char'到'const char*'的无效转换 [-fpermissive] 。

b未在此范围内声明。

char trying(char *pchar)
{
   for(int i=0;i<strlen(pchar);i++)
   {
      int j = strlen(pchar);
    
      char b[50];
     
      char d=pchar[j-i];
    
      strcpy(b,d);
        
   }

   return b;
}
c string pointers char
1个回答
0
投票
  • 在你的 main 职能。char xc[50]=trying(c); 将无法工作。

要给一个数组赋值,你必须用循环或使用... strcpy 万一 源头目的地 可以作为指针使用。

  • 在您的 trying 职能。strcpy(b,d); 将无法使用。

签名: strcpychar * strcpy ( char * destination, const char * source );于是 源头 以及 目的地 需要是指针,在你的情况下 d 不是一个指针,它只是一个字符+逻辑上(不是语法上)你是在复制 d 到字符阵列的第一个位置 b.

© www.soinside.com 2019 - 2024. All rights reserved.