我不能用函数在字符串中给出一个值。而且我的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;
}
main
职能。char xc[50]=trying(c);
将无法工作。要给一个数组赋值,你必须用循环或使用... strcpy
万一 源头 和 目的地 可以作为指针使用。
trying
职能。strcpy(b,d);
将无法使用。签名: strcpy
是 char * strcpy ( char * destination, const char * source );
于是 源头 以及 目的地 需要是指针,在你的情况下 d
不是一个指针,它只是一个字符+逻辑上(不是语法上)你是在复制 d
到字符阵列的第一个位置 b
.