我试图将char指针类型作为函数的返回类型进行传递,但没有得到任何作为输出的内容。代码如下:
#include<stdio.h>
#include<string.h>    
char * decrypt(char* pt)
{
    char*  result=malloc(20);
    while(*pt)
    {
    *result=*pt+3;//incrementing by 3 alphbets and copying in reslult
    pt++;
    result++;
    }
    *result='\0';
    return result;
}
int main()
{
    char plaintext[20];
    scanf("%s",plaintext);//getting input
    char *ct= decrypt(plaintext); //passing to function
    printf("\nCiphertext %s",ct);//printing reslut
}发布于 2019-01-05 01:56:04
在循环之后,result将指向\0。
只需添加指向字符串开头的临时指针并返回即可。
char * decrypt(char* pt)
    {
        char*  result=malloc(20);
        char *start = result;
        while(*pt)
        {
           *result=*pt+3;//incrementing by 3 alphbets and copying in reslult
           pt++;
           result++;
        }
        *result='\0';
        return start;
    }https://stackoverflow.com/questions/54043805
复制相似问题