c语言的问题跪求大神解释,C语言的一个问题 跪求大神解释

2020-12-12 17:17:07 字数 4618 阅读 2683

1楼:

八进制转义字符

它是由反斜杠'\'和随后的1~3个八进制数字构成的字符序列。例如,'\60'、'\101'、'\141'分别表示字符'0'、'a'和'a'。因为字符'0'、'a'和'a'的ascii码的八进制值分别为60、101和141。

字符集中的所有字符都可以用八进制转义字符表示。

如果你愿意,可以在八进制数字前面加上一个0来表示八进制转义字符。

int i = 141; //表示把141这个整数存储在int类型空间里;

'\141' 代表 字符'a', 可以写成这个形式: char ch = 'a';

关于 c语言的问题,求大神解释,为什么总有一个问题在这个程序中!

2楼:月下青灯屋

a和b交换的时候bai出现了错误;

du第一步先将a的值zhi

赋值给c,对应的**dao是版 : c=a; 而不是a=c;

第二步将权b的值赋值给a : a=b;

第三步是把c的值赋给b :b=c;

**如下:c=a;

a=b;

b=c;

你的输出也有问题

3楼:匿名用户

目测你可能是逗号用了中文符。

将“,”(中文符)改为","(英文符)试一下。

关于c语言的一个题目,如图,求大神详细解释,谢谢

4楼:滕肖雅

#include。。。部分是c语言中的一些库,如果不引用这些库函数下面log()函数和sqrt()函数就无法使用;

double fun(int m)定义一个带int 类型参数m,函数名为fun,返回值类型为duoble的函数;

下面是函数的内容定义int型变量作为循环的计数器,还定义了一个double类型的变量s初始值为0.0,用于累加;循环体部分s=s+log(i)如图的注释计算s=ln(1)+ln(2)+ln(3)+.....+ln(m);

最后对s求平方根并返回,要说明的是传入函数的那个参数的做用是累加到ln (m)后停止;

在下面就到了主函数,主函数中调用打印函数前调用fun()函数传入的值为20,也就是说累加到

ln(20),在求平方根。

5楼:雪野

#include

#include

#include

#include

double fun(int m)

main()

c语言中,一个奇怪的结果,求大神解释

6楼:匿名用户

#include

#include

int main()

return 0;

}在具体** 有不明白的再问

7楼:匿名用户

/*反汇编了下*/

#include

#include

intmain()

8楼:匿名用户

你的问题应该就是不明白为什么这句 printf("%d","these">"that");打印的是1吧,因为这里他比较的是地址,你先声明了"that"常量(注意这个地址是字符串常量的地址,不是char数组的地址),所以他的地址在前,后边的strcmp是逐个比对字符直到出现'\0'或者不同字符为止,e大于a所以these和that strcmp返回1,最后一个打印比较的还是地址,string1的地址较小,而且那个if比较的也是地址,因为声明的先后顺序,返回1

9楼:匿名用户

你这样比没有类比性直接用字符串比较不是比较它的acssii值具体比较的是什么我觉得核能是地址值;而最后一个用数组名去比较估计也就是比较数组的开始地址值的比较

而这个地址是根据编译环境的不同所取到的值也不同在我的编译器里是string1

10楼:蜡笔小新

第一个和第三个是比较指针的大小

11楼:天雨下凡

你用的什么编译器?我的pells c上运行结果正常,是111yes

c语言,程序问题,求大神解释。谢谢

12楼:风华怜馨

i++;可以写在switc语句里面,但是如果写在switc语句里面,就要在每一个case、default中都加上i++;

你可以用很简洁的方式解决问题,也可以用很繁琐的方式解决问题,就是这个区别。

13楼:匿名用户

什么意思du?当然可以啊,上面的zhi**等价于:daowhile(sym!='#')

回if(flag==0)

。。。。。

14楼:阳顶天鹿鼎记

i用来标识执行的动作是第几次,而i定义的位置是在while外面,所以i的作用域是整内个main函数,而i++,是执容行一次运算,i就加1,表示又执行了一次运算,而后面需要对i进行输出,所以i++的操作在while循环内,在输出前都是可以的,所以放在switch语句中也一样,但是要每个case都要加上这个语句,比较麻烦。

另外,你定义i的时候,要初始化为0,否则它里面存的值是随机的,这样进行++后输出的值也不正确。

希望对你帮助,如果还有疑问,请继续提问。

15楼:一棵大树

看似这个程序bai是用来计算一个

du整数里面有几个zhi2

int main()

int countdigit(int number,int digit)

while(number!=0); //判断语句,如果number不等于0,重复执行do语句

return s; //返回s的值。}

c语言 左移位的问题,求大神,帮忙解释一下!!!

16楼:风雷雪电

aa==0x12(0x表示十六进制,十六进制12,十进制是16+2==18),二进制0001 0010

左移3位,二进制1001 0000,十六进制0x90,十进制144。

左移4位,二进制0001 0010 0000,十六进制0x120,十进制288。

你确定是printf("%d\n",aa<<3);吗?可能是这个吧:printf("%x",aa<<3);,%x表示十六进制输出。

17楼:觉悟壮志

aa=0001`

0010(2).

aa<<3=000`1001`0000=90(10)(就是在后面填3个0,结果和输出一样)

aa<<4=0001`0010`0000=120(10)(也和输出一样)

楼上好像都不对

18楼:匿名用户

你说的也不对

aa为18

aa<<3,相当于乘8,显示144.

aa<<4,相当于乘16,显示288

我用c++builder6 试过了。

c语言编写一个程序,运行时出现了这个问题……求大神解释

19楼:匿名用户

for(i=0;i

baiif(!((line[i]==32)&&(line[i+1]==32)))

l[j++]=line[i];

你这里line可能du要越界哟。line[i+1],当zhii取最大值时,不一定有哟dao

下面对l也是一回

样,明答显可能会越界的 。

原因就在于line越界了,l其实也要越界的,不过在后面,没有他表现的机会了

你可以这样 (i+1)%strlen(line)这样就不会越界了

20楼:匿名用户

提示line的变量越界。

for(i=0;iif(!((line[i]==32)&&(line[i+1]==32)))

l[j++]=line[i];

line[i+1]超出边界范围,属于用法错误。

后面的也数组用回法也一样。要

答注意边界条件的使用

c语言多文件编程问题,求大神解释一下,为什么出这种毛病? 20

21楼:匿名用户

#ifndef _headername_h#define _headername_h...#endif

在文件前面加入预处理命令就不会出现多次编译了

一个c语言题目 做法看不懂 求大神解释一下

22楼:匿名用户

这里使用一个6x6数组来装1个5x5的矩阵,每一行的第一个数据即a[i][0]用来装这一行所有数据的和,每一列的第一个数据即a[0][i]用来装这一列数据的和。

把每行和每列的第一个数据初始化化为0是为了利用叠加法求每行(列)元素的和。

例 for (j=1;j<=5;j++)

a[i][0]+=a[i][j];

这是把a[i][0]=a[i][1]+a[i][2]+a[i][3]+a[i][4]+a[i][5]

求大神,简单的C语言问题,求大神,一个简单的C语言问题

1楼 匿名用户 func的参数输入就是定义一个新的变量b 再将a赋值到b a的值不会变 好比执行了int b a 所以函数输出 12 y 2楼 听不清啊 程序运行后会输出 12 y c语言中实参到形参都是单向值传递的。 3楼 飘遥舞者 参数传递知识,取值传值方式不会改变原变量的值 求大神帮编写一个简...

c语言一道题跪求大神,C语言一道题,跪求大神!

1楼 书气纵横 void movenode snode head int m snode last head while last next null last last next c语言编程,一道题不会,求大神!!! 2楼 狂在骨子里范情 include stdio h include math ...

求问下大神,C语言指针问题,大神大神,赐教啊,关于C语言指针问题。

1楼 阳光的雷咩咩 从声明可知l本身是指针类型,整个函数都是对l为头结点的链表做操作 要从函数内部改变函数参数的值,一般要用指针,这也就是为何initlist要用二级指针的原因。这个值得深入理解,我认为真正的难点在这里。 而不是后面传l为何起作用,这是你问的地方 2楼 匿名用户 不太明白你说的啥 能...