c语言中的括号作用范围的一个问题

c语言中在主函数中已经定义过了,然后在括号里面又重新定义了一个相同的变量名,但类型不同,输出的时候是按括号外的输出?如果输出语句在括号里面呢?括号里面的函数只能在括号的范围内作用吗?如果执行完后那括号里的那些值还在不? 偶是初学者``请高手多指导``谢了先
但是括号执行完后括号内定义的值杂办?万一后面的程序又调用那里面的值呢,那不是又调用到主函数的那个去了啊?

问:如果输出语句在括号里面呢?
答:按括号里面的输出。

问:括号里面的函数只能在括号的范围内作用吗?
答:是的。

问:如果执行完后那括号里的那些值还在不?
答:失效了。在括号里面定义的变量,其作用域就只限于括号里面。

我这有个简单的程序,你跑一下就知道了。

#include<stdio.h>
#include<string.h>
int main()
{
char i[10];
memset(i, 0, 10);
sprintf(i, "%s\n", "abcd");
{
int i=0;
printf("%d\n", i);
}
printf("%s", i);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-02-07
“本地优先“

c语言中的括号作用范围的一个问题
c语言支持定义一系列相同连续的变量空间,其定义形式为 type name[n];代表定义个数为n,每个元素类型均为type型的数组变量name。int a[100]就是定义一个元素个数为100个的整型数组a。对于a中元素的调用同样是通过中括号对来实现的,当调用a[n]时,代表第n个元素。需要注意的是,在c中规定,数组元...

C语言FOR语句的大括号位置放置的问题
如果有括号,表示括号里面所有的内容都会参与循环,若没括号,则只有紧跟的一条参与循环,{}的作用就是把若干条语句集合起来,要么一起执行,要么不执行 --- 楼主说把上面的程序加上{}会陷入死循环?不可能啊!我刚运行了,没问题啊 记住一点就是:if,for,while等语句后面若只有一条语句,就没必要加括...

关于C语言中定义的变量的有效范围的问题。
C 语言, 用大括号括起的范围叫“域”,每个域都是变量在前,之后才是语句。变量的有效范围只能在域之内,也叫作用域。外层域定义的变量在内层也是有效的。

c语言中的 { } 大括号的使用,什么时候需要什么 ?
大括号也称花括号是程序块的分界符,大括号起的作用主要就是划分区域用的。没有规定for后面一定要加大括号,如果for循环里只有一个语句,如果有多个语句,就需要用一个大括号把他们包起来。比如:if(a>b) println("a>b");与if(a>b) { println("a>b"); },其实效果是一样的但有的时候是必须...

C语言在最后一个括号报错
1、括号不正确:计算机C语言里要求括号为英文括号。解决方法:将出现错误的中文括号改为英文括号。2、句号数量不正确:公式前后括号不对称,出现多括号或者少括号。解决方法:仔细查找出现多括号或者少括号的地方,根据具体情况删除或者添加括号。3、公式不正确导致:公式的错误也会出现报错的情况。解决方法:...

C语言中括号运算符的问题
(a=10,b=a+5)这是一个逗号表达式,它将以逗号为界,从左到右依次计算每个表达式的值,最后返回最右边的表达式的值,具体到这个式子就是:先计算a=10,然后再计算b=a+5,所以b=10+5=15,并且最后返回b的值,也就是15

c语言大括号的使用问题
当然不能共用,这个是再语法角度说的,如果是代码上,你仔细观察有可能是这种情况,void main(){ "{";} 看到没,这个是合法的,用了三个括号。但是中间那个是带引号的,是字符串,并不是真的语法上的括号

C语言,一个小问题,为什么在if后面一直都没有花括号?
1、加上大括号相当于一个语句块,if条件只影响其后面的第一个语句或语句块,加括号的话,则执行括号中的全部语句(也就是在if条件成立的情况下,则全部执行,如果if条件不成立,则整个括号中的语句都不执行);而不加括号的话,则影响其后的第一条语句,也就是说不管if条件成不成立,第一句以后的...

关于c语言数组的方括号中能不能使用变量的问题。
方括号里必须是一个大于零的整数常量或者常量表达式。常量表达式(const experssion):是指值不会改变 并且在编译过程就能得到计算结果的表达式。字面量属于常量表达式,用常量表达式初始化的const对象也是常量表达式。一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定。const int a =1;...

对C语言变量作用范围的一个问题
变量定义所在的最近大括号标记出变量的作用范围。要达到你的目标,可将t以参数形式传递 main(){int t=5;...;fun(t);.;} int fun(int xxx){...} 在函数fun中,xxx变量接收了主函数t的值。不过fun中不能改动t的值。一定要改,可以考虑指针形式,或者将t做为全局变量来声明,比如 int t=5...

相似回答
大家正在搜