内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

首页 > 电脑技术 > 正文

C语言中,我在main函数中定义了一个变量,

2019-02-10 出处:网络 整理:zhishizhan.net

    话题:C语言中,我在main函数中定义了一个变量,

    回答:愣是没有看懂。两次使用的变量名一致? 在while里面定义的变量,在while外面是不能使用的

    话题:c语言主函数中有一段用大括号括起来了,其中定义的变量与主函数变

    回答:一对花括号理里面叫做语句块 在其中的定义的变量在其括号可以使用 void main() int main()才是正确的{int k=1,m=2; 使用于大括号m++;{ 语句块看着单元进行了int k=0; 使用于这个括号中k+=m*2; printf("%d,%d#",k,m);k++;}printf("%d,%d#",k,m); 用大括号的语句 }

    参考回答:1、其中的s严格意义上讲是不是应该叫形参,同样也是部变量上面这句是对的。下面这句是错的,不能简写,本来yanshi函数一个参数,如果简写为yanshi()就会认为不带参数的函数,而又没有定义不带参数的yanshi函数,所以会报错2、假如s=0,是不是可以省略不写,简写成yanshi();

    话题:C语言的函数名后有一对圆括号,括号内有函数参数,但参数可有可无.

    回答:第一点,只有形如type fun(void);形式声明的函数即“无参数类型”可以没有参数,你看不见参数可能是无参,也可能是使用了缺省参数。 第二点,main是有参数的,原型为int main(char* ar[], int argc);你看到的“无参”是缺省使用,实际参数有系统提供。

    参考回答:函数参数是根据需要来的,你写一个函数在屏幕上显示hello world,这个函数就不需要参数,但是如果想显示你输入的内容就需要有一个字符串参数来提供你输入的字符了。其实main函数也可以有参数的。

    话题:C语言问题求解

    回答:变量的生命期不同,a和b的生命期是整个main函数,j的生命期只是在复合语句中。你把中间的花括号去掉就不会出错了,这里不需要复合语句。可以,把main函数中声明过的变量作为参数传到被调用函数中

    参考回答:这个应该就是你说的补充问题吧我对C的理解就是花括号内定义的就是生存期当然如果在最前面所有花括号外定义的变量最高,影响也最大如果在花括号内对变量重新定义就是相当于一个新变量,出了这层花括号之后,再回到外层的定义中,此时就是外层有效,这段就是在内花括号里定义的,可是出了花括号,他的生存期限到了,我没试验,不过确定是错的

    话题:C语言小问题 求解

    回答:选D。这是变量的生存范围问题。大括号内定义的变量,属于大括号内的部变量。大括号上面的变量,属于大括号外的全变量。这是相对而言的。那么,大括号外的那些全变量,在大括号内是可以用的。但是如果出现重名,则无视大括号的变量。所以大括号内跟c,与外面那两个无关。而且他们只执行到大括号结束,就释放内存。不影响外面的那个b跟c。至于大括号内的a变量,是引用了外面的全变量a。因为大括号里面没有定义部变量a。

    参考回答:D.#include lt;stdio.hgt;main(){ int a=3, b=2, c=1; a=3,b=2,c=1 { int b=5, c=12; 执行这里,b=5,c=12,a=3,a没有再次定义,所以不变 c-=b*2; 这句相当于c=c-b*2(那句是简写的),即c=12-5*2=2 ,b=5 ,a=3 printf("a=%d,b=%d,c=%d\n", a, b, c); 打印,a=3,b=5,c=2 a+=c; 这句相当于a=a+c(那句是简写的),即a=3+2=5, } 因为括号里定义的是部变量,只能在本括号里或本括号的内面括号用,a不在最里面的括号定义的 在外面的括号定义的,内面括号可以用a。 b,c在里面定义,改变的值只能在里面用,出到外面 还是以外面定义的为准,b=2,c=1printf("a=%d,b=%d,c=%d\n", a, b, c); 所以a=5,b=2,c=1}这涉及到部变量问题。。。。。括号定义的只能在本括号用,出到外面一层括号就不能了,部的

    话题:一个C语言程序的问题

    回答:main(){int s=0;{int a=5;s+=f(amp;a);}s+=f(amp;a);printf("a=%d,s=%d\n",a,s);getch();}要看下变量的作用域,你在main定义的 int a 的作用域只在下面这个范围内有效,{int a=5;s+=f(amp;a);}出了个这个大括号就无效了。所有后面再使用的到的变量 a其实 是你在外头定义的那个,而不是里面这个是超出了定义个变量的这两个大括号 {} ,这个部变量的生命期就结束了,不存在了。这个是变量的作用域范围,具体是如何定义的,那就要查看了。

    参考回答:这个程序的执行 是先定义一个 全变量 然后开始执行main函数 然后重新定义了一个部变量a赋值5然后调用函数将a=5传给形参进行计算,所以s的值是。然后程序再次调用f(),此时调用的a是全变量a,因为这时已经超出了部变量的作用范围了。当有和全变量同名的部变量,且在部变量作用范围内时,使用部变量,否则使用全变量。是的,在{}这个作用域内定义的变量,就只能在这个{}内使用

    话题:c语言问题(部变量)

    回答:c是面向过程的,必须先定义后使用,而且在main函数中没有部变量的情况(ja中可以有),你看看是不是重名了,或者重复定义了。还有,静态变量不管放在何处定义,都是先被分配存储空间的。你可以把码贴出来看看。

    话题:C语言作用域问题

    回答:你这是没有明白作用域的真正含义,首先,谈作用域,其对象是变量,i,a,b。而不是表达式,你说的i++。其次,你在main定义了变量i,那么在整个main中,它都是有效的,除非你在内存花括号中重新定义i,那么在花括号中第一个i会暂时失效,执行完花括号中的语句后,第一个i才恢复有效。对表达式,我们关心的是其是否被执行。你给的例子中,表达式i++外面的花括号有没有都一样,i++都会被执行。

    参考回答:我的理解哈:这是个变量作用域问题:当你的花括号内重新定义了一个 变量 以后,这个变量就在花括号内有效,出了花括号个变量就没用了。,把你的程序改成:#includemain() {int i=5;{int i=5;i++;} printf("%d",i);}实验一下,最后的i得5。如果你把printf改到花括号内,i就得6。这说明花括号内的变量i是于括号外定义的i的。当你花括号内没有定义与括号外变量重名的变量时,所有变量继承。这也就是说在花括号里,也可以对于其他变量作,而只是新定义的重名变量的作用域在你的花括号之内。你来个i++,i自然加一了。

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

    回答:问:如果输出语句在括号里面呢?答:按括号里面的输出。问:括号里面的函数只能在括号的范围内作用吗?答:是的。问:如果执行完后那括号里的那些值还在不?答:失效了。在括号里定义的变量,其作用域就只限于括号里面。我这有个简单的程序,你跑一下就知道了。#include#includeint 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;}

    参考回答:该中括号为数组标识。c语言支持定义一系列相同连续的变量空间,其定义形式为type name[n];定义个数为n,每个元素类型均为type型的数组变量name。int a[100]就是定义一个元素个数为100个的整型数组a。对于a中元素的调用同样是通过中括号对来实现的,当调用a[n]时,第n个元素。需要注意的是,在c中定,数组元素的下标n是从0开始计数的,所以对于定义的a[100], 其合法的元素为a[0], a[1], , a[]。

    话题:C语言中,这个main函数里定义的变量是全变量还是部变量?

    回答:放在main函数定义的变量任然是部变量,全变量要放在所有函数(包括main)的外部,例如:#include int x,y,z;void year(int a,int b,int c);int main(){int i,a,b,c;for(i=1;i{scanf("%d,%d,%d",a,b,c);printf("a=%d\n",a);printf("b=%d\n",b);printf("c=%d\n",c);year(a,b,c);system("PAUSE"); return 0;}}void year(int a,int b,int c){printf("现在是%d年%d月%d日\n",a,b,c);}这里x y z就是全变量,其他都是部变量

    参考回答:是部变量啊= =全变量是在函数值外定义的变量包括主函数、所以在main函数中定义的变量也是部变量

分享给小伙伴们:

相关文章

搞笑图片