第二个: 1,2,3,4,4,3,2,1,1,1,2,3;1加了4次,2加3次,3加3次,4加2次,所以是 4、3、3、2 第三个: 楼上很详细,就不多说了
【1】我也觉得是长双精度,不过长双精度对于初学者来说很少用到,可能是因为这个原因,所以答案是双精度吧。【2】C语言的注释可以放在程序的任何地方,只要写在注释符/**/中就可以。【3】应该跟你理解的也要,C的类型int也是标识符,命名的时候不要和那些系统默认的符号重复就可以了。【4】char c1...
{int a=2,b=7,c=5; /*定义变量,a,b,c */ switch(a>0) /*执行switch语句 */ { case1:switch(b<0) /* b<0是一个关系表达式,是假的,故其值是0 */ { case 1:printf("@");break; /*这两条语句中没有与0相匹配的项 ,也没有default语句 所以什么也不做*/ c...
可以啊 给出的是参考答案,并不是唯一的答案。比如实现循环就有 for while do while 递归等各种方式 只要结果正确,符合题目要求就可以了。
4, 一个 a = 5. 跟据条件,这几个 a 有的加了1,有的没加。 再次调用时,a的值不会重新赋值,而是会沿用上次的最后值。至于具体多少, 廖兄 已经给出了 a 的详细 变化。楼主,if(n%2),当n=0时, 表达式n%2返回int 0,就是false,当然走else了。你不信可以写个小程序验证一下。
你的题真多啊 。。。(17)老问题,p没初始化,指向的空间不确定 (36)这个涉及到引用传递和值传递,看来你学得很少啊,在这里(c语言中只有值传递,但是可以用指针模拟引用传递c++里面直接就有引用传递)值传递是系统新建变量来存储接收到的值,注意这些变量都是新建的与原来的无关,当函数结束时,...
p=d++ 含义是先使用d,之后d的再加1, 所以 输出p是应该等于2 若改为p=++d 则输出p是应该等于3
不同了!在子函数void fun(char *s,char c)中,s不再是数 组名,而是一个指针变量,随运算而进行改变!(你错误得 将,s理解为数组名,将它当成了常量(数组首地址),所以 产生疑惑!)void fun(char *s,char c)可以用非指针函数,形象的描述为:void fun(char *s,char c){int i;while...
printf("%c",*s);} s++;} } void main(){ char a[]={"good"};fun(a);printf("\n");system("pause");} 回答问题2:说实话,当初我的指针也学得混混沌沌,所以不敢保证我的解释正确的。首先进入源程序的定义:int x=3,y=5,*p=&x,*q=&y;即指针p指向x的地址,y指向q的地址...
比如这样:if(j%2){ printf("j=%d\n",j);continue;} 这样,j 输出是便是什么数的时候,执行 continue 。。不懂再问我。continue 是结束本次循环,进入下一次循环,所以,当执行continue 的时候,不执行 x++,不管后面有什么,都不执行,直接跳到下一循环, j++ , 然后,继续判断,。。