C语言问题,请详细解答
main()函数中printf()函数的参数应该是"%c"吧?
函数形参传递问题
实参通过赋值的形式把变量的值传递给形参,调用函数后这些形参会被系统收回。
分析这个程序:
1、main()函数里运行到fun(&b,a); 系统会进行实参向形参的传递,把b的地址赋给c,a赋给d,然后进入函数体
2、函数体中*c=*c+1;代表c指向的那块内存的值加1(也就是b的值加1,b原来等于‘a’,现在变成了‘b’)
3、d=d+1;代表d的值加1,跟main()函数中的变量a没有关系!原来d和a的值都是'A',但现在d的值是'B',a的值仍然是'A'
4、最后的输出结果:fun函数中输出*c(c指向的变量的值)和d main函数中输出b和a,所以结果为:b,B,b,A
我来解答一下吧,一般编译器都是按4个字节,对齐的,所以答案是A
2+1+4=7《8
还要注意的,如果不子对齐就是7了
!knahT
理由如下:
执行fun()函数时:
s[80]储存字符,n记录当前字符所在位置。
执行while循环:
getchar()函数逐个获取字符,存在s数组中,n++,位置+1,直到输入为回车,即 '\n'时,输入结束。
此时,n的位置是指向'\n'的。所以-1;
然后逆序输出。结果为!knahT.
返回主函数,输出换行。
就是将thank!倒叙输出!knaht
首先fun函数将thank!通过while循环存到数组s中
然后倒叙输出
c语言入门题,你们都会的。请问x代表啥意思?还有红框框里的程序啥意思...
x 是变量。是用来存储float类型的数据 。红色宽宽意思是 如果存储在k变量里面的值小于6,那么就把k得值重新赋值为5.然后是a[k]=a[k]+1 (a是数组,k是一个变量)。意思是在把a[k]这个值+1再赋值给a[k],如果k=2 那就是说先把数组里面第三位数的值+1 再重新赋值到第三位,sanf打印...
几道C语言问题!!!
C语言中规定不能进行指针"加"操作.10.D 第1次循环:s指向"ABCD"中"A"位置,p指向"ABCD"中"B"位置.printf输出"B"开始的字符串.第2次循环:p加1-->指向"ABCD"中"C"位置,判断成立(s指向"A"位置).printf输出"C"开始的字符串.第3次循环:p加1-->指向"ABCD"中"D"位置,判断成立.printf输出"...
C语言问题,以下三个程序几乎一样,为什么一个,第二个能正常运行,第三却...
第一个:虽然没有把s1中的字符串结束符'\\0'拷贝到s2,但s2初始化为全0,也就是全'\\0'了,所以拷贝前s2中就都是'\\0'了,没有拷进s1的'\\0',就由s2原来的'\\0'充当了。所以能正确输出。第二个:这是个比较正宗的写法,由于用i<=j控制,所以把s1中的'\\0'拷进了s2,当然就能正常输出了...
C语言问题,请问这句语句怎么理解(for(i=3;i<=100;i+=3) if (i%7)s...
这是一个for循环语句,意思是:i=3是初始值,它满足i<=100这个条件,就执行i+=3就是i=i+3=3+3=6,if(i%7)是判断i能不能整除7,不能就执行s+=i这条语句!然后6又满足i<=100,又执行i+=3,值变为9,如此循环下去,直到i不满足i<=100这个条件 ...
请教,语言文字问题!!
一、“而”在这里是连词,两句都是单句陈述句。他(主语)为你(介宾词组作状语)而(连词不划句子成份)死(谓语)。二、三个都是助词,起加重语气的作用。1、这个(主语)连小孩子也知道(主谓结构作谓语)。(1)小孩子(主语),也知道(谓语)。——小(定语)孩子(主语),也(状语)知道...
C语言 请帮忙详细解释下x++和++x
x++:先赋值在自加,表达式的值为x,而x的值加1,比如b=5,a=b++,那么a=5,b=6;++x:先自加后赋值,表达式的值为x加1后的值,x自身加1.比如b=5,a=++b,那么a=6,b=6;所以你f()函数返回的是x的值,不是加1后的;
·一道简单的汇编语言问题求详细解答
(AX)=00H=0000 0000 0000 0000B ,(BX)=00H,(CX)=10H=0000 0000 0001 0000B QQ:shr cx,1 ;是将cx逻辑右移1位,CX=0000 0000 0000 1000B,CF=0 RCR AX,1 ;带进位循环右移,AX=0000 0000 0000 0000 0000B,CF=0 ADD BX,1 ;bx=bx+1,BX=01H LOOP qq ;CX-1,即CX=0000 0000 ...
C语言,,请详细解释,详细
其他类似问题 2016-01-09 C语言:这道题请详细解释一下~ (定义字符指针d,可是它没有... 3 2009-10-29 C语言基本代码,求详细解释,越详细越好。 423 2015-06-21 c语言编程\\n是把什么换行,是什么意思,请详细解释。 78 2015-06-08 c语言每行的意思,请解释的详细一点 2013-05-13 C语言中%8.1f ...
C语言比较两个字符串相等的问题,请人详细讲解
C语言字符串是一系列字符,也就是char类型排列而成的。一个字符是char类型,一系列字符如何表示?用他们的第一个字符的地址表示,因为字符串在地址上也是连续排列的。并且用\\0,在物理上是一个字节的全0位,来表示字符串结束。所以"abcde",空间上是'a' 'b' 'c' 'd' 'e' '\\0'strcmp的参数都...
有关于C语言的问题,3个,最好有详细解答
请看第5行,格式错误,应该为scanf("%d%d",&a,&b);把这一行改掉,代码就能正确执行,改正后代码在gcc下编译通过.2角度变弧度计算公式,1 度=pi\/180弧度,90度就是pi\/2,但是第2问跟这个有关系么,还是问题打错了?log90不是就是求以10为底的90的对数么?测试函数 1 #include <stdio.h> ...
独孤高奥帝: 请回答菜鸟一些C语言问题.请详细解释 悬赏分:0 - 离问题结束还有 14 天 23 小时 下列程序段运行后,x的值是【 】 a=1;b=2;x=0; if(!(--a))x--;//如果--a值再取非的值为真,那么x-- if(!b)x=7;//如果b的值大于0,那么!b等0;如果b等于0,那么b的值不等于0(可以是任意数,不等于的数(与你定义的类型有关)) else ++x;//++x 等于 x = x+1 A.0 B.3 C.6 D.7 其中(--a)是a = a -1
鱼台县17665778527: c语言问题 求详细解答谢谢 - ?
独孤高奥帝: 当调用函数时,u=27,v=18 while(v)--->v=18,为真,执行循环 {w=U%v; --->w=27%18=9;u=v;----->此时,u和v的值并没有改变,所以,u=v=18;v=w;--->v=w=9;} 然后再进行循环,依此类推~
鱼台县17665778527: C语言程序问题,求详解 - ?
独孤高奥帝: #include<stdio.h> main() {int x=1,y=2,z=3;if(x>y) { if(y<z)printf("%d",++z);elseprintf("%d",++y); } printf("%d\n",x++); }if(y<z)else 是一个语句 如果if(x>y)为真 才执行括号里面.所以没有输出z和y的值 只执行了一个输出函数 printf("%d\n",x++); 这个函数输出的是x++ 的值 但x++ 的意思是 先把x输出 在+1 所以输出的结果是1
鱼台县17665778527: C语言问题,求详解 以下选项中,合法的一组C语言数值常量是__________.(标准答案:D) ( - ?
独孤高奥帝:[选项] A. ) 0x8A 10,000 3.e5 ( B. ) .177 4e1.5 0abc ( C. ) 028 .5e-3 -0xf ( D. ) 12. 0Xa23 4.5e0
鱼台县17665778527: C语言求教,请详细解答?
独孤高奥帝: 形参的传递方式是复制,无法改变传入参数本身, 实的参传递方式是传入地址,对参数进行改动,会直接改动地址所指向的数据, 还要搞清楚 str1是地址(命名的字符串名称就是该字符串的首地址),*s只是地址所指向的数据,不是地址,他们不相等, 可以说str1与s相等,指向的是同一数据,但c和t仅仅只是数据相等,但并不是同一个数据,也就是说c和t不在同一块内存中
鱼台县17665778527: C语言问题 求详细解释 - ?
独孤高奥帝: 选C;++a是先加1再传入if语句;b--是先传入if语句再减一;因此if语句中的a是0,b是1,会走到else分支去.最后结果是C.
鱼台县17665778527: c语言问题 请详细解答 谢谢啦 - ?
独孤高奥帝: #include int f(int x); void main() { int w=2,k; for(k=0;k { w=f(w);//调用函数第一次调用 w = f(2) = 2+1+4 = 7,第2次 w = f(2) = 2 + 1 + 5 = 8, 第3次 w = f(2) = 2 +1 + 6 = 9 printf("%d\n",w); } } int f(int x) { int y=0;//局部变量,每次都销毁,即每次都...
鱼台县17665778527: 一道C语言题目,请高手给详细解答: - ?
独孤高奥帝: 1、从main()主函数开始从上往下执行函数2、执行到调用函数fun()后,结果是a=3,b=4,即px=3,py=43、由于是px、py是指针,px和 x指向同一个地址, py 和y也是一样的4、所以输出...
鱼台县17665778527: c语言编程问题求详解 - ?
独孤高奥帝: #include <stdio.h> int sum(int n) { int i, s = 0; for (i = 1; i <= n; i++) s += i; return s; } int main() { printf("1 + 2 + ... + 300 = %d\n", sum(300)); return 0; } #include <stdio.h> int main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) printf("%d*%d=%-...
鱼台县17665778527: C语言问题求详细解答?
独孤高奥帝:处理中 for中 a=0时, a%2是0, 算false, 所以做 else段, c+a是 'A'+0, 还是'A', 印出'A' a=1时, a%2是1, 算true, 所以做 if段, b+a是 '1'+1, 是'2', 印出'2' a=2时, a%2是0, 算false, 所以做 else段, c+a是 'A'+2, 是'C', 印出'C' a=3...