打印

C语言中 变量只可以在一个程序块的最开始处定义

[复制链接]
1868|7
手机看帖
扫描二维码
随时随地手机跟帖
沙发
hgjinwei| | 2008-10-19 22:32 | 只看该作者

难道你还想在程序块最后定义?

使用特权

评论回复
板凳
hartcomm|  楼主 | 2008-10-19 22:45 | 只看该作者

C++可以随意定义啊

以前只知道C中for() 括号中不能定义, 其他一直没在意。一般定义全局变量 其他的一般也定义在函数开始出。很长时间没写c了,今天遇到这个问题,晕死了。

使用特权

评论回复
地板
原野之狼| | 2008-10-19 23:53 | 只看该作者

..

void main{
    //declare variable here is ok;
    do something;
    //declare variable here is not ok;
   {
       //declare variable here is ok;
       do something;
   }
   do something;
}

使用特权

评论回复
5
hartcomm|  楼主 | 2008-10-20 00:24 | 只看该作者

谢谢! 确实很奇怪!

void main{
    //declare variable here is ok;
    do something;
    //declare variable here is not ok;
   {
       //declare variable here is ok;
       do something;
   }
   do something;
}

----------------------------------------------

奇怪,只要加一个{ },就可以编译了! 

使用特权

评论回复
6
hgjinwei| | 2008-10-20 14:05 | 只看该作者

加个{ }就是加个程序块啊,定义的变量只在{ }内有效,跑出去就不认了.

使用特权

评论回复
7
hartcomm|  楼主 | 2009-2-15 23:19 | 只看该作者

有遇到一个c c++ 问题 C++居然不可以在函数外赋值变量!而c可

以下代码如果以 .c后缀则可编译通过 以.cpp为后缀则报错 重复定义  在VC++中

int a;
a=1;
void main()
{    a=1;
}

使用特权

评论回复
8
E007| | 2009-2-15 23:26 | 只看该作者

定义与赋值写在一起,你试下

如题,这样写:

int a=1;
void main()
{    a=1;
}


你单独写一行相当于执行一条语句,而这条语句不在任何函数内,编译器当然报错.而定义变量与赋值同时做,就是定义一个有初值的全局变量.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

684

帖子

3

粉丝