【发布时间】:2019-05-31 07:30:13
【问题描述】:
我试图将 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
}
【问题讨论】:
-
在 printf 的末尾添加一个 '\n'。此外,您正在泄漏内存。
-
如果你
malloc,别忘了free。 -
result将指向字符串的结尾。 -
查看malloc()的结果,可能为NULL