C语言的问题 好像很基础 但是我不懂 求指教!!

作者&投稿:甄伦 (若有异议请与网页底部的电邮联系)
C语言中很基础的问题,求C语言大侠指点!!~

只要是变量都能装数字 只是有大小而已 100不超过char的范围 所以是可以的。

-0x1f的的编译器上是-31.

#include#includevoid fun( char *w, int m){ char s, *p1, *p2;p1=w; //p1指向串首第一个字符p2=w+m-1; //p2指向最后一个有效字符,串尾while (p1=p2时,相遇{ s=*p1++; //先将p1中的内容存储到s,然后,p1指向了其一下个 *p1=*p2--; //将p2中的内容存储到p1指向的位置,然后p2向前移动,指向了前一个位置 *p2=s;//再将原p1中的内容s,存储到当前p2指向的位置}}根据以上说明,可以看出ABCDEFG开始:*p1='A' *p2='G'循环第一次, s=*p1++; s='A' . p1指向'B'所在位置,*p1=*p2--; 将‘B'换成了'G',p2指向了'F'位置 即:*p1='G'*p2=s; 将'F'换成了‘A’ 即:*p2='A'第二次s=*p1++; s='G' . p1指向'C'所在位置,*p1=*p2--; 将‘C'换成了'A',p2指向了'E'位置*p2=s; 将'E'换成了‘G’继续循环下去,就变成了AGAAGAG这样的排列了main(){ char a[]="ABCDEFG";fun( a, strlen(a));puts(a);}

typedef unsigned char U8;//给unsigned char取个别名,U8

U8 U8FLAG=2;//相当于定义unsigned char U8FLAG=2

while((P2_0)&&U8FLAG++);
if(U8FLAG==1)break;
U8FLAG可以等于1,因为unsigned char 表示数的范围是0到255,当U8FLAG=255时,在做++运算,U8FLAG就等于0了,再做一次++就等于1了,不过在上述程序中不可能实现U8FLAG=1呀!当U8FLAG=0时,while条件不符合,就 不进入循环了。除非在其他地方对U8FLAG还有什么操作。或者说代码有问题

因为U8FLAG是unsigned char类型,所以它可以表示的最大值为255,最小值为0,当循环执行255次时,U8FLAG的值就变成1了(初值为2,自加253次时,值为255,254次时,溢出,归零,255次时就是1)。

unsigned char,无符号类型,只有正数,没负数.溢出,即超过unsigned char定义的范围,U8FLAG就会等于1了.纯属个人理解

U8FLAG是unsigned char,它能表示的范围是固定的0-127,持续++,终归会有等于1的时候。

当U8FLAG 累加到FF 之后再累加就是1了。


会泽县18534225754: 一个关于C语言的问题,很苯很简单,但我不会.
实管联佳: #include<stdio.h> void mian() { int n,i,j; int sum=0,tmp=0; printf("请输入n值:\n"); scanf("%d",&n); for (i=1;i<=n;i++) { for (j=1;j<=2*i+1;j++) { tmp=tmp+j; } sum=tmp+sum; } printf("结果是%d",sum); } 我这没有C++,不能给你运行了,...

会泽县18534225754: C语言的问题 好像很基础 但是我不懂 求指教!! -
实管联佳: 因为U8FLAG是unsigned char类型,所以它可以表示的最大值为255,最小值为0,当循环执行255次时,U8FLAG的值就变成1了(初值为2,自加253次时,值为255,254次时,溢出,归零,255次时就是1).

会泽县18534225754: C语言我知道大部分基础知识但写不出程序? -
实管联佳: 多写代码练习,不然总是不知道写,可以从简单的开始,比如输入两个数算和,循环输出一组数据,等等,难度逐渐变大(一般教程书后面都会有习题,可以考虑写一下)自己也可以给自己出一些题,写多之后就熟练了就好了,反正无论什么语言说来说去就三个东西,循环、判断、顺序,把需要的运算的步骤拆分为这些东西就是编程的思维,主要就是训练这个

会泽县18534225754: 关于c语言的很基本很基本的问题但是我总是搞不清楚 -
实管联佳: int和float,double的区别是,它是整型,也就是整数.而float和double都是浮点数,就是可以带小数点float和double的差别是大小,double可以存储比float大且精度高的数

会泽县18534225754: c语言有一定基础后,没有继续学习的方向,也不知道如何提高 -
实管联佳: 这要看你学到什么程度,并且你今后想要从事怎样的工作了.对只学习了c语言的基础,例如能够运用数组、指针、结构体、链表等等.如果没有特别的目标,那就可以做一些小项目,做一些简单的管理体统,增加对c语言的应用,这只是当做自己的一门基本技能.做到了这些,如果你有更高的目标,比如以后想成为一个c语言的高手,以后能在这方面有大的发展的话,那需要学习东西应该还有很多吧.我个人觉得,你可以学习数据结构,关键是算法.后面还可学习汇编原理,同时还可以学习汇编语言、c++、、到后面还要数字电路、计算机组成原理 操作系统等等还可以学,只要你有时间,有恒心.这是我比较认可的学习路线吧;个人愚见,其实我也是菜鸟、希望对你有所帮助.

会泽县18534225754: c语言中的笨问题,可我不懂! -
实管联佳: 就像PRINT做结尾的语句,程序结果就是打印,就不需要返回任何值了.

会泽县18534225754: 怎样学好C语言? -
实管联佳: C语言是不需要任何基础的,只要是学过或自学过计算机基础就行了,说通俗一点就是你会用电脑就行了,然后买一本C语言的书,照着学就可以了,当然最好有老师,毕竟很多算法还是别人指点一下为好的.我们大一的时候用的好像是清华大...

会泽县18534225754: 我想学C语言编程,但对编程一点都不懂,该如何入手? -
实管联佳: 新手如何学习C语言 第一:一些概念. C语言是一门程序设计语言,有一些标准,比较重要的是ANSI C(好像是C89)和C99. 数据结构包括逻辑结构和物理结构.逻辑结构是数据元素集合和定义在集合上的关系.物理结构是逻辑结构在计算...

会泽县18534225754: 帮忙做2道C语言题,据说是基础,但是我弄不来! -
实管联佳: 第一个,x,y,a都是int型,所以(x+y)/2是没有小数部分的,改成 int x,y; float a; a=float(x+y)/2; 第二个,你用各种类型定义变量,用sizeof()计算输出就行了.用sizeof()可以计算变量占用的存储空间,所以先定义变量再计算. 第三个,m=8,n=11;m=k++运算过程为m=k,k++.n=++j运算过程为++j,n=j.就是说++在变量前时j先自加,再对n赋值,++在变量后时,先对m赋值,k再自加

会泽县18534225754: 为什么我看c语言基础看不懂啊 -
实管联佳: C语言就是基础,是程序设计的基础.C语言也是底层的东西,不用什么基础,现在基本的高校都是以C语言为基础进行教学的,所以根本就不用学其他什么东西.看不懂的原因是因为突然接触程序设计,对他的原理跟方法不是很了解.基本上C语言是拿来学后面的面向对象语言为基础的,学的就是一种不是语法,而是一种编程思想.这也是对你自己将来是否走程序方面的一个很重要的因素.最后给你一句话,”C语言学的不是他的语法,而是那种编程的思想,想要跟厉害,更强大就自己平时多加思考,多加练习,加油吧”

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网