check_return
//date : 2013 4 2
//designer :pengxiaoen
//function:check the word return in function
#include "stdio.h"
int add ()
{
int a,b,c;
a = 2; b=3;
c = a+b;
return c;
}
int main ()
{
int m = 0;
m = add ();
printf ("result is %d\n",m);
system ("pause");
}
这个代码的确简单,最终输出是5。当然我的最终目的当然不是这个,而是把add 函数换成下面的这个
int add ()
{
int a[5],i;
for (i = 0;i<5;i++) a[i] = 1;
return a[3];
}
那么它的输出结果是1吗?答案当然不是,那是什么呢?
运行的结果.EXE文件被杀毒软件杀掉了。汗!!!(我用的是dev)
继续修改
int * add ()
{
int s[5],i;
for (i=0;i<5;i++) s[i] = 1;
return s;
}
int main ()
{
int *m ;
m = add ();
printf ("result is %d\n",m);
system ("pause");
}
得到的是一个地址
(后续)