求c语言高手,为什么我想要把一个数字存入数组,比如1放到char a 中 需要 a = 1 +'0'而不是a=1+'\0'

作者&投稿:代山 (若有异议请与网页底部的电邮联系)
请问数组a是char型。如果想要读入5个数,为什么i要从0->5?第一个数读不了么 我是用pascal的,向大神求教~

数组的编号是从0开始的!!!
例如a[5]的5个成员是a[0],a[1],a[2],a[3],a[4]
所以一般情况是i=0 ,i<5,i++

#includevoid main(){int a[3],i,k;//a[3] 是 a[0] a[1] a[2] 下标从0开始printf("请输入3个数字
");for (i=0;i<3;i++){scanf("%d",&a[i]);}printf("这3个数字分别是
");for (i=0;i<3;i++){k=a[i];printf("%d ",k);}}

1是数字,
'0'是字符,ASCII码值为48
'\0'是八进制形式,的0,对应于ASCII码表中ASCII值为0的字符,其实就是空字符。
数组以'\0'结束是指字符串以'\0'结束,并不是用于计算的。
整形数据和字符数据在计算时是可以混用的,只要注意各自代表队数值。
比如
'0'可以直接拿来当48来用,
('0'+1)的整数值为49,作为字符的话就直接看做'1'。
其实,
a=1+'0';就是把整数1转换成字符'1',然后存入字符变量中。

把数字1存入变量中既不要+'0',更不要+'\0',因为'\0'就是0,1+0还是1。只有当把数字1变为字符1时才用1+'0',就是说1是数字1,而1+'0'就是字符'1'了。

1是数字,1+'0'表示字符1的地址,将数字转换成字符才可以存入char a 中,\0自动添加,不用人为添加


学C语言的问题
2.如果你要搞图形学,那数学基础是要有的。或者你要去一个公司搞游戏开发,设计引擎,你要好好学数学了。要为某实验室开发数据收集的软件,你要了解相关的公式,到时候现学也行。其他方面一般不会设计太多数学,你会个加减乘除啥的就差不多了。3.因为大学课程全是形式,c语言基础部分很简单,自学的...

请问我只精通C语言能做一个编程高手吗?
当然可以.编程语言的基本概念是一样的,因为他们的目标是机器语言,不同语言只是形式上不同.精通一种,很容易掌握其他语言.单靠C语言来吃编程的饭是不够的,至少要学会 C++.

...请教C语言高手,在32位系统下,为什么这段代码的输出结果是:-1 >...
你用a-b < 0 做判断说明什么呢,-1 -1 = -2 肯定小于0;unsigned int b = 1; 即使用(int)强制转换后 b 还是等于1,两个判断结果都是 -2 < 0;

求救高手C语言程序问题:帮我解释一下为什么?
至于为什么最多输出7位,那就是c语法里头对于%g和%f稍微有些不同的定义罢了。我想只有作者才能知道。其实学语言,不要死扣其中的每一个细节。比如你的问题四,scanf()中没有逗号,你却在输入的地方有逗号。这样的错误是你必须注意的。学语言,最重要的是算法,是基本的语法和编程的一些技巧。其它...

c语言高手进,下面程序运行结果是781,我知道*s=9798101,却分析不出...
(*s)%10 这一句求的是指针s指向的数组的那一位的ascii码的个位 a的ascii码为97 对10求余 个位为7 输出7 然后++s 指针s指向后一位 即 b b的ascii码为98 个位为8 输出8 然后又指向后一位 即 e e的ascii码为101 个位为1 输出1 然后s有自加 但是while(...

C语言高手请进:使用文件方式r+(为读写打开一个文本文件),为什么不可以...
r+不会清空,只是会覆盖原来的字符,,比如原来文件里面有 abcdef 六个字符 然后你写入xyz 文件里面就被更新成xyzdef。如果你写入完了需要再读取,那就需要调用rewind(P);把光标移动到开头才能读取成功。

完全学习C语言需要多长时间?
完全学习C语言需要一个月。学习语言容易,但要想随心所欲的发挥,需要相当长的时间,你先花一个月的时间把C语言的语法、函数库等弄明白,再花半年时间阅读一些别人编好的程序,以能看明白为准,然后自己编一些小程序。然后你就能对比出你自己的水平与你心中所谓的“完全学习”差距有多大了。

怎么成为计算机高手
纸上谈兵永远也不会把你变成高手的,除了自己练习,做好事学的差不多了就赶紧找一个程序员的工作,从底层做起,接触到了团队开发最好。 【二】电脑编程的基础知识 1:如果你能够熟练的使用Windows 的话,你就可以开始你的程序生涯了! 2:首先从C 语言开始。有的朋友可能认为C 语言太难了,应该从VB 开始。虽然,...

求C语言编程高手。为什么我在运行insert时会陷入死循环?还有,帮忙看看...
include <stdio.h> define N 5 define MALE 0 define FEMALE 1 struct part{ char name[20];int sex;int number;int mark;}stu[N];int num_parts = 0;void insert(void);void rein(void);void show(void);void average1(void);void average2(int s);void average(void);void divide(...

c语言高手快进!!我是一个C的初学者,在C里边为什么输出字符的时侯要加...
d表示是整型变量。比如printf("%d",48);48被看作一个整型,输出就是48,但如果改成printf("%c",48),输出的就是0.因为这里把48当成了字符。48在ASCII码里对应的是0,所以输出就是0了。

建德市19340101537: 用C语言设计程序求素数时为什么要将这个数开根号 -
闳史盐酸: 因为一个比根号值大的数只可能和比根号值小的数同时成为因子,所以就只需要计算到比较小的那个数就够了.

建德市19340101537: 请求C语言高手.为什么此程序只能带一个0,就是10*10=100没问题,而100*100!=10000了 -
闳史盐酸: 改了一下,原因在注释里.可续问.#include<stdio.h>#include<string.h> void main(void){/*主程序*/ char a[200],b[200]; int e[400]/*[400]*/={0,},f[400]={0,},g[400]={0,},i,j,m,n,d,t=0;//用不着二维数组,并初始化 gets(a); gets(b); m=strlen(a);//2 n=strlen...

建德市19340101537: 求c语言高手,我想要找出完全素数.完全素数就是一个数等于他的因子之和如6=1+2+3 -
闳史盐酸: #include int prime(int x) { int temp,i,k; temp=(int)(sqrt(x)); for(i=2;i if(x%i==0) { k=0; break; } if(i>temp) k=1; return k; } int main (void) { int a, b, t, sum ; for (a = 2; a{t = a;sum = 1; for (b = 2;b{ if (a % b == 0) {if(prime(b)) {sum = sum +b;} } } if (sum == t)...

建德市19340101537: C语言中,求指定区间的素数数量和素数合这个代码的第十六行为什么要用i - 1,求高手解答,代码如下: -
闳史盐酸: 没什么区别,只不过用k<i-1每个循环可以少做一次判断而已,效率看似稍微高点而已,实际当i足够大时,这点提升可以忽略不计 更高效的循环条件应该是k*k<=i

建德市19340101537: 求C语言高手编一个数组求最大值最小值的程序. -
闳史盐酸:#include #include #include #define NUM 4 int (*array)[NUM]; //数组指针 //初始化数组,包括N个数组,每个数组里NUM个随机整数值 void initData(int arrayNum) {array = (int (*)[])malloc(NUM*sizeof(int)*arrayNum);memset(array, 0x00, ...

建德市19340101537: 编写c语言中,为甚么要多输入一个数程序才往下执行
闳史盐酸: 请理解scanf函数的结束条件: scanf函数__仅在每一个数据域均有数据,并按回车后__结束. scanf("%10d%10f\n",&amp;num[a],&amp;x[a]); 这一句数据域有3个:%10d、%10f 和 \n! 这里\n是作为数据域,所以必须在遇到__第二个__\n...

建德市19340101537: 求大神改错,C语言,想求一个整数的质因数..我是小白,谢谢啦... -
闳史盐酸: 整个程序有重大逻辑错误,语法错误.判断质因数首先判断是否为质数,然后判断是否能被整除.#include#include bool isprime(int value) //判断是否为质数 { int i; for(i=2;i { if(value%i==0)return false; //能被整除则为非质数 } return true; } int main()...

建德市19340101537: 求c语言大神,我要输出比平均数低的所有数,求修改以下程序. -
闳史盐酸: #include int fun(int score[],int m,int below[]){ float sum=0,t; int i,n=0; for(i=0;i sum+=score[i]; } t=sum/m; for(i=0;i if(score[i] below[n]=score[i]; n++; } } return n; } int main(){ int i,n,below[9]; int score[9]={10,20,30,40,50,60,70,80,90}; n=fun(score,9,below); for(i=0;i printf("%d\n",below[i]); }

建德市19340101537: 请C语言高手帮忙,编写程序求一个整数各位数字之和.怎么编写?谢谢.要求见问题补充. -
闳史盐酸: #include<stdio.h>#define max 10 int main() { int a,b[max],s=0; int i=0;printf("Please input a number: "); scanf("%d",&a); while(a) { b[i]=a%10; s=s+b[i];a=a/10; i++; } printf("The sum is: %d\n",s); return 0; } 这里要注意了,这个程序能满足...

建德市19340101537: 求c语言高手解释
闳史盐酸: 1、 以下程序运行后,输出结果是int d=1;fun (int p){ int d=5; d = d+p++; printf("%d",d);}main(){ int a=3; fun(a);//调用FUN d=5+3=8 d=d+a++;//上一步的运算对这个没影响;d=1+3 printf("%d\n",d);} A. 84 B. 99 C. 95 D. 44 答案: A 13、 请...

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