首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

变量定义一个奇怪的有关问题,求解释

2013-03-12 
变量定义一个奇怪的问题,求解释#include stdio.h#include stringint add(){int a int b 2a a+b

变量定义一个奇怪的问题,求解释

#include "stdio.h"#include <string>int add(){int a ;int b = 2;a = a+b;printf("%d\n", a);return 0;}void cat(){char st1[] = "bbbbbbb";char tt[50];strcat(tt, st1);printf("%s\n",tt);}int main(){//循环体内定义在编译的时候只定义一次,空间是同一个空间for (int j=0; j<2; j++){char st1[] = "bbbbbbb";char tt[50];strcat(tt, st1);printf("循环内%s\n",tt);}printf("\n");//地址空间没有变化,但内容清空了,很神奇!???????????????!! for (int i=0; i<3; i++){cat();add();}printf("\n");//出了循环体,地址空间被清空。//对于方法如果不清空,变量是在同一个空间上的。cat();cat();{cat();}printf("\n");//不通作用域同名变量空间不通{char st1[] = "bbbbbbb";char tt[50];strcat(tt, st1);printf("小作用域1%s\n",tt);}{char st1[] = "bbbbbbb";char tt[50];strcat(tt, st1);printf("小作用域2%s\n",tt);}  return 0;}


变量定义一个奇怪的有关问题,求解释

 

定义变量一定要注意初始化,注意清空呀@!

1楼zhangchao_nwsuaf昨天 14:32
操,尽然碰到你了

热点排行