读书人

int 初值的一个有关问题

发布时间: 2013-07-04 11:45:40 作者: rapoo

int 初值的一个问题
#include <stdio.h>
int reverse(int num);

int main(void)
{
int num,res;
scanf("%d",&num);
res=reverse(num);
printf("%d",res);
return 0;
}

int reverse(int num)
{
int tmp,n,m;
n=num;
while(n!=0)
{
tmp=n%10;
m=m*10+tmp;
n=n/10;
}
return m;
}
为什么没有给m赋初值,它却可以执行,输出正确结果
[解决办法]
这是编译器的问题吧。。我在VS2010上运行就出错了。。
[解决办法]
具体实现跟编缉器有关
[解决办法]
不要依赖未定义的行为。。。

读书人网 >C语言

热点推荐