1. 输出结果为Got a valid pointer
分析:堆内存申请时,如果申请内存大小为零字节,则会返回一个有效的地址值,也就是会得到一个可以被使用的内存。编译器会默认分配一个最小的内存,默认多大取决于编译器。
2. GetStr函数返回的是,局部变量tmp,这个变量指向的内存会在函数调用结束时被释放。
#include <stdio.h>
int invers_int(int x)
{
if(x>=0&&x<10)
{
printf("%d",x);
}
else
{
printf("%d",x%10);
invers_int(x/10);
}
}
int main(void)
{
intx;
printf("请输入你要逆序的数字:\n");
scanf("%d",&x);
invers_int(x);
return0;
}
#include <stdio.h>
int main(void)
{
charch;
printf("请输入你要进行转换的字符串:\n");
while((ch=getchar())!='!')
{
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
{
if(ch=='z')
{
ch='a';
}
elseif(ch=='Z')
{
ch='A';
}
else
{
ch=ch+1;
}
}
printf("%c",ch);
}
printf("\n");
return0;
}