C语言的问题,帮忙分析一下为什么出现这样的结果

作者&投稿:赞榕 (若有异议请与网页底部的电邮联系)
帮我分析一下面一幅图中C语言为什么会出现这样的运行结果~

scanf("%d%d
",&p,&q);要求先后读入两个整型和一个‘
’才能结束
实际输入的是'4','
','5','
','6','
'
读取的4赋值给了p,5赋值给了q
第一个回车是被忽略,这里视为p输入结束的标志,直到scanf读取下一个非空的输入为止
第二个回车同理
所以你必须在第二个回车之后再输入一个字符再回车才能打印出结果
所以一般不在scanf中读取的格式末尾加
,这样就需要额外的一次输入加回车。
目测题主已经不在了\("▔□▔)/
我就自己写着玩玩好了。

第一行 不解释了
第二行定义一个宏 在之后的 程序中 LEN就是数字4
接下来住函数
定义2个int类型的变量i j
定义一个静态的二维的字符数字长度5 个数2 给于初始值"8980"和"9198"
第一个FOR从j=3开始循环每次j-1当J小雨0时弹出
把二维字符数组的第0组第j个位置的字符的asc||码加上 二维字符数组的第1组第j个位置的字符的asc|| 在减去2*0的asc||码 二维字符数组的第0组第j个位置的字符赋予C和10的余数加上0的asc码 二维字符数组的第1组第j个位置的字符赋予C和10的余数加上0的asc码
第二个F输出那个二维字符数组

AS放在输入缓冲区里,getchar()只取一个字符
那么第一个显示a,又打印了换行,再取S(从缓冲区中取得,不用再输入了),打印s

press a key and then press EnterAS//输入AS后,一个回车,换了个行
a//输入A的小写
press a key and then press Enters//这里输出S的小写

这个答案不是正确的嘛。

程序的运行结果完全正确。
你在显示后面加上一个 \n
printf("press a key and then press Enter\n");

有些机器的printf函数调用时会清楚输入缓冲区
读取A以后S还没被读取就被清除了

哎呀,看错了,你那不是已经打印了s吗?


C语言问题,高手帮忙,追加分~~ 题目是:将一个正整数输出成4分为形式...
一楼的有点错误 如果按照一楼的话 输入123456789 会得到 ,123,456,789 改一下就可以了 小改下 呵呵 include <stdio.h> include <string.h> int main(){ int n,i,j;char str[50];scanf("%d", &n);sprintf(str, "%d", n);j=strlen(str);for(i=0; i<j%3; i++){printf(...

紧急求助,一个C语言的问题
在16位编译环境中输出结果是:u=fffb,u=65531,ch=a,k=97 在32位编译环境中输出结果则会是 u=fffffffb,u=4294967291,ch=a,k=97 同一个值,作为带符号数和无符号数,输出会不同;不同类型的变量,由于其有效的位长不同(例如char型是8位,比int或unsigned int的有效位数少),产生类型转换...

C语言问题请帮忙
\/\/计算每个学生的总分、平均分。void Statistics(StuScores *stuInfos,int len){ int i = 0;for(i = 0; i < len; i ++){ \/\/计算总成绩 stuInfos[i].total = stuInfos[i].math + stuInfos[i].chinese;stuInfos[i].total += (stuInfos[i].english + stuInfos[i].sports);\/...

发现了一个有趣的c语言问题,请各位大神帮忙解释一下。
1.之所以再次编译值不改变,乃是因为系统在加载可执行镜像时所选取的栈的初始地址是相对固定的,a就在这个栈上,而且程序开始到main函数执行,这是一段按部就班的例程,没有什么变数,所以a的地址不变是可以理解的。2.scanf("%d",20000)这句合法并没有什么难以理解的地方,因为指针归根到底也只是一...

关于C语言指针的问题,希望高手帮忙解答一下
你要明白,指针变量有两个相关的值,一个是指针变量本身的内存地址,一个是该内存地址存储的数据,是另一个变量的地址。如:int *p;\/\/定义一个指针变量,既然是变量,它本身就有地址,还没赋值,它里面的数据不确定。所以*p=5;是错误的,还没初始化,指向的内存地址不确定,要把5存储到哪里的内存...

关于c语言的问题
"BB\\n\\\\\\'\\r"前两个BB是两个字,\\n代表一个回车,\\\\代表一个\\,\\'代表',\\r是一个换行 所以,这个字符串一共有六个字符,即字符串的长度是6。又因为C中字符串要在末尾加个0表示结束,所以在内存中占的空间比实际长度多1,这题中为7。

请教一个简单的C语言问题,请大家帮帮忙~~
,那么 你输入时也必须有逗号 否则出错 所以一般不这么输入 用也应该有提示 而里面的 内容 %2d %3d 意思是2位用来显示 不足补齐超出继续 你输入的是 123 那么12 这是2位 用来输出 而剩下3 取3位补齐 还是3 你第二次用的 123 这号成为了 下次的读取操作 还有什么细节问题 你再补充吧 ...

c语言问题。帮忙完成第三题(图一),图二为第三题下面部分?
第一空填 int power(int m,int n)第二空填 sumPower(k,n)第三空填 power(i,k)第四空填 product*=m 完整的C语言程序如下 include "stdio.h"int sumPower(int k,int n);int power(int m,int n);\/\/第一空 main(){ int total=0;int k,n;printf("请输入二个数k,n:");scanf("...

c语言小问题 帮忙看一下 答案是什么?
21. 8(与输出格式有关)22. 1(双叹号抵消,但其他情况下双叹号另有意义,请不要这样使用)23. abcefhiklnq,照着步骤慢慢算就好 24. 2 (同21题)25. 29251,也是慢慢算就好

c语言小问题 帮忙看一下 答案是什么?
16.C 17.A 18.若int i,j=6;在函数内A对,若int i,j=6;不在函数内C对 19.B 20.D

平陆县13798531323: C语言运行的问题,为什么会出现这种情况?代码没检测出错误,运行其他代码可以正常运行
钞燕银得: 检查一下是否是下标越界. 有可能是从键盘读字符时忘加&,好像就是这个错,C语言我都快忘了.

平陆县13798531323: C语言的问题,帮忙分析一下为什么出现这样的结果 -
钞燕银得: AS放在输入缓冲区里,getchar()只取一个字符 那么第一个显示a,又打印了换行,再取S(从缓冲区中取得,不用再输入了),打印s

平陆县13798531323: C 语言的问题,为什么出错了啊 -
钞燕银得: 编译有错吧,其实是少了一个括号.#include void fun(int m,int k,int xx[]){ int i,j; for(j=0;j<=k;) { m++; for(i=2;i<=m;i++) { if(m/i==0) break...

平陆县13798531323: c语言程序出错,帮忙找下问题在哪里? -
钞燕银得: 程序是对的你的scanf两个%d%d之间是逗号,所以你输入数字必须是1,2这样的形式如果%d之间什么 也没有的话,那么就可以用空格,table和回车来输入下一个数字了

平陆县13798531323: c语言的问题
钞燕银得: 问题出在i++和++i;++i是使用i之前先使自身的值加1,传送给f的值就是它自加后的值,即3,按照这个理论,第一个程序的值应该是-1才对,但其实你的结果也是正确的,为什么呢?因为你所使用的编译器对参数是自右向左求的,先求++I,再I;第二个的则刚好相反,先使用I的值即将2传送给b,再自加,即将3传给a,运行结果为1

平陆县13798531323: 请大家帮忙一下!请看我的C代码什么地方错误了 -
钞燕银得: 您好,您的程序有如下几处问题:1,您的关键字书写错误:dt=sprt(b*b-4*a*c); 中sprt应改为sqrt(求表达式的平方根) 优化后的源程序代码为:#include<stdio.h> #include<math.h> void main() { float a,b,c,dt; printf("input a,b,c:\n"); scanf("\n ...

平陆县13798531323: C语言的一道题 (帮忙看一下哪里出问题了) -
钞燕银得: #include<stdio.h> int main(int argc, char *argv[] ) { unsigned long Icount = 0; while( ++ Icount ){ if( (Icount %3 ==1) && (Icount %5 ==2 ) && ( Icount %7 == 4 ) && ( Icount % 13 == 6 ) && ( Icount %17 == 2) && ( Icount %19 == 10) && (Icount %23 == 1 )...

平陆县13798531323: 我有一个C语言问题,谁能帮帮我,我是刚刚学C语言,自己做了好久但是总是出错,求高手指教. -
钞燕银得: 你好,我也是C语言初学者,我来试试帮你解答.我要说的是“插入排序法”,我不会把答案全给你,我把方法全交给你,你自己...

平陆县13798531323: 为什么这个c语言程序有问题呢 请大师帮忙解下啊 -
钞燕银得: 这个涉及scanf的执行过程,建议这样修改 scanf("%d %c", 输入时先输入一个整数,然后输入一个空格,再输入一个字符...

平陆县13798531323: C语言编程问题
钞燕银得: fun77(int a,int b,int c)//首先这个是一个函数,它的作用是把a*b给虚参c,不过这里的c是不能返回到主函数的,也就是这个函数是没用的 { c=a*b; } main() { int c;//定义变量c fun77(2,3,c);//这里c没有给值,可能会出问题,因为每个函数得到的都...

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