#include <stdio.h>
#include <stdlib.h>
char *ch(void);
int main(void)
{
char *p;
p=*ch();
printf("%c",*p);
putchar('\n');
system("pause");
}
char *ch(void)
{
int c='C';
putchar(c);
return &c;
}
我要返回的是c的地址,它的值为'C',问什么返回的不是c的地址。输出的结果不是'C';
#include <stdio.h>
#include <stdlib.h>
char *ch(void);
int main(void)
{
char *p;
p=*ch();
printf("%c",*p);
putchar('\n');
system("pause");
}
char *ch(void)
{
int c='C';
putchar(c);
return &c;
}
我要返回的是c的地址,它的值为'C',问什么返回的不是c的地址。输出的结果不是'C';
你c是局部变量,调用完函数它自动释放后不存在,再用指去输出是一个不存在的变量。
printf("%c",p);
试试看
printf("%c",*p);
格式控制问题
如果直接输出函数的返回值不会是这样的