ps中的伪全局变量

Rav*_*avi 2 c global-variables visual-studio

面试问题非常频繁.但是,我不清楚我在不同网站上发现的解释.因为,当我尝试执行此代码时,它会显示_AX未声明的错误.

main()
  {
   int i;
   i = abc();
   printf("%d",i);
  }
  abc()
  {
   _AX = 1000;
  } 
Run Code Online (Sandbox Code Playgroud)

人们说_AX伪全局变量,这就是它显示输出1000的原因.

*注意: - 它显示_AX未声明的错误,但是当我声明变量时,它显示一些垃圾值*

R..*_*R.. 10

这经常出现?这完全是胡说八道.大概_AX是一些特定于编译器的符号来访问"ax"寄存器,该寄存器在x86上用于返回值.但是,没有理由相信寄存器中的值不应该在赋值和函数返回之间被破坏.该程序正在调用未定义的行为.如果有人为你提供工作,希望你知道这种无效的做法,那就跑吧.快速.他们没有能力.

  • 更多的红旗:他们使用旧的不良做法,如隐式函数声明和隐式`int`. (3认同)