我试图将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
复制相似问题