早教吧作业答案频道 -->其他-->
问个C语言,不明白啊题目:字符数组采用单个字符(%c)方式输入,并将它逆序输出。#include"stdio.h"main(){charc[20];inti=0,j;scanf("%c",&c[0]);while((c[i]!='\n')&&(c[i]!='')){i++;scanf("%c",&c[i]);};for(j=i-1;
题目详情
问个C语言,不明白啊题目:字符数组采用单个字符(%c)方式输入,并将它逆序输出。 #include "stdio.h" main() {char c[20];int i=0,j; scanf("%c",&c[0]); while((c[i]!='\n')&&(c[i]!=' ')) {i++;scanf("%c",&c[i]); }; for(j=i-1;j>=0;j--)printf("%c",c[j]); } 对于以上这个源程序,我不明白倒数第二行的for语句中的j=i-1,如果是j=i-1,当你输入20个字符时,应该是输出19个倒过来的字符,可是我运行起来竟然是20个字符,没有问题。而且当我改成j=i;时,就是不减一了,还是正确的,为什么啊?
▼优质解答
答案和解析
第一个循环玩以后i是输入的字符数+1 j=i-1,j才是最后输入的字符 你改成j=i也没问题是因为你的c刚好c[j]的地方是'\0'或其他不可见字符,所以输出来什么也看不见 你把for循环改成这样就可以看效果了: #inclu...
看了问个C语言,不明白啊题目:字符...的网友还看了以下:
我的程序那出错了啊,比较三个数的大小#includevoidmain(){inta,b,c,x,m 2020-05-12 …
c语言do while 写一个输入N个整数(个数不限)从它们中选出一个最大的打印出来我的写法如下# 2020-05-13 …
大家看看这个lingo程序哪里错了啊····谢谢各位model:title first steps 2020-05-13 …
if(strcmp(str1,str2)>0alph[j1]=alph[j];scanf("%s" 2020-06-04 …
有n个人在排队接水,假如每个人接水的时间为t[i],找出这n个人排队的一种顺序,使得n个人的平均等 2020-06-25 …
用条件运算符求三个整数中的最大数.#include“stdio.h”voidmain(){inta 2020-07-08 …
∑这个符号在建筑施工组织设计其中的一个公式里什么意思?xVi=∑Ri.Si∑什么意思?此公式怎么运 2020-07-20 …
从键盘输入一个字符串,删除其中的字母a后输出.例如,输入字符串“abcaca”,输出bcc这是我编 2020-07-23 …
补充完善下列程序.已知a,b,c是三角形的三条边的长度,有键盘输入合法的a,b,c值,利用海伦公示 2020-07-23 …
问个C语言,不明白啊题目:字符数组采用单个字符(%c)方式输入,并将它逆序输出。#include"s 2020-12-02 …