C语言题目我看不懂

如题所述

这个题的意思是统计字符串str里面0-9的数字有多少个
其中数组a的十个元素分别存储0-9的个数。
难点在a[(*p-48)]这里。48是‘0’的ASCII码,‘1’是49,以此类推。
*p分别指向str里的每一个字符。当*p为0-9其中的一个的时候,比如*p='1'的话,
那么*p-48='1'-48=49-48=1。那么就会执行a[1]++,也就是将‘1’的出现次数+1
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-19
答案:0-0 1-4 2-2 3-2 4-2 5-0 6-2 7-2 8-0 9-0就是统计一下上面的字符串中有0到9的数字各几个。如1-4即有4个1
第2个回答  2014-06-19
你好。这是一道较为基础的C语言练习题。其中的三个循环,第一个循环功能为数组初始化,即所有值赋值为0。核心功能在于第二个循环,功能为1.扫描整个str数组,2.如果某一字符的ASCII码属于0-9,则将该值对应的数组的值+1。即功能为数一下每一个数字出现了多少次。
最后输出结果格式将为:0-0 1-4 2-2,。。。。意为数字0出现了0次,数字1出现了4次,数字2出现了2次。希望你按照我的描述再耐心仔细地理解一下程序,希望你能够理解他。
第3个回答  2014-06-19
统计0-9这几个数字每个数字的出现次数

大一新生学习C语言,书上代码看不懂理解不了怎么办?
作为大一新生,学习C语言时遇到看不懂书上代码的情况是很正常的。以下是一些建议来帮助你解决这个问题:1.阅读代码注释:在阅读代码时,首先要查看代码中的注释。注释通常会解释代码的功能和实现方式,这有助于你理解代码的结构和逻辑。2.逐行分析代码:将代码分成小块,逐行进行分析。尝试理解每一行代码...

看c语言的程序 单句看都懂,整体看不懂有什么办法解决吗?
第二,解决一个问题每个人用的方法不同,所以代码也不一样。也许你看完题目后自己已经大概知道怎么去实现了,但是看别人代码的时候人别不是用你那种方法,所以很难看懂。这很正常。第三;在解决一个问题之前一定要画流程图,把解决的思路详细写出来。不管我这种思路我自己有没有能力去实现,但是思路要...

C语言 看不懂答案怎么来的
第五个等于 ++a||(++b&&++c)第六个等于 ++a&&(++b&&++c)都是自左向右结合运算,这个知道吧。2.然后是逻辑运算本身问题 &&运算,如果左边 的为0,那么整个值为0,就不需要再换算右边了。但如果是1,那么依然要看右边是否为0.为0则整个为0,否则为1.(抓到0就是0)||运算 如果...

C语言一道简单的代码,麻烦帮我解析一下,我表示看不懂。。。
if(x<y) 由于10<20,所以 跳到if(!ok1) 这里ok1=5 表示非0 ,所以 !ok=0,所以程序接着执行else后面的 if(ok2) 因为ok2=0;所以接着执行a=-1 整个流程是:if (x<y)->if(!ok1)->else->if(ok2)->a=-1

c语言、看不懂、怎么办?
1,开始的时候先是学好基础,如int ,char各代表什么,要记忆的东西要记牢并且要好好理解;2,通过一段时间的学习要对C语言的基本特点有个大概的认识,找些参考书籍看看简短的语句表示什么意思,和一些改错题,要十分注意,有可能这些就是要犯的错误。3,当然是多多的练习编写程序了,最起码要能快速的...

C语言的一个概念性问题,我很难理解。希望C理解的深的给我详细解释解释...
1.首先,因为[]优先级(顶级)高于*(次顶级),所以应先算[]。所以先只看(a+i)[j]。2.然后,这里一堆的东西不好看,做个简化:因为a是二维数组的名字,故a+i是第i行的行指针,相当于一个一位数组的数组名。把a+i记作x,那么(a+i)[j] 就可以记成 x[j]。3.由取下标运算的含义:x...

好想学c语言啊,看着代码,完全看不懂,要用的方法函数永远都想不起来,咋...
C语言入门难,学过就会觉得容易了,我学时没别的办法,多看书,而且一本书要重复看,不懂语句多琢磨几遍就懂了,让后做后面的习题,做题时不懂时,马上翻书找相应的内容。另外在CSDN网站可以搜索一些资料。如果你的C语言基础的理论都清楚了。可以去自己开发些东西,找人家做过的一些例子研究研究,然后...

C语言看不懂
其实学C最基础的就是背,背语法,C语言C语言就是一语言,和学英语一样,刚开始就是背,你不用管他为什么这样,这样就是这样。比如说开始的#include<stdio.h>,为什么要写这个?有什么用?不用管,你只要知道就是要写这个。等你看的c程序,c语法多了你自然就懂了。最后给你几个写C程序的软件,...

C语言程序设计 我是C语言初学者,有一道看程序的题我有些弄不懂,还请...
C A:是如果a>b,则一程序一直执行到“b=c;”,效果是换a与b的值;B:是如果a>b,则执行{ }里的语句,效果是交换a与b的值;C:是如果a>b,则执行c=a; 无论a是否大于b,c的值都要给a,a-b;没什么作用;D:是如果a>b,则效果是交换a与b的值,c相当于中转站,a-b;没什么作用;...

我是初学C语言,看不懂你这题(看不懂的地方我标注了一下啊)
=!(3>4)因为(3>4)是错的,所以用0表示,又因为前面!,所以用1表示 (!c)因为c=5,不等于0,所以c是真值,前面加个!,就说明整体是假值,所以最后逻辑值为0 另外,扩展一下,对于这道题中的c,!!c的值应该为1。!!c=!(!c)=(!0)=1。这也是通过上述解释得到的。

相似回答