一个C语言的问题

336*.当输入为“quert?”时,下面程序的执行结果是
#include<stdio.h>
main()
C 语言选择题库 汕头大学许创编辑
{char c;
c=getchar();
while((c=getchar())!='?') putchar(++c);
}
A) Quert
B) vfsu
C) quert?
这个为什么是b呢

第1个回答  2011-01-06
第一个字母q被第二句c=getchar();取走了,
while循环里面的c=getchar();取到的值依次是u、e、r、t、?
输出的时候都是ASCII码加1后输出的,u输出的就是下一个v
依次是c=e时输出f
c=r时输出s
c=t时输出u
c=?时就跳出循环了本回答被提问者采纳

一个C语言问题?
1、static是静态变量:编译阶段会分配内存,只能在当前文件内使用,只初始化一次;2、extern是全局变量:在C语言下默认的全局变量前都隐藏的加了该关键字,只是我们平常看到的没有这个extern关键字而已。问题8:什么是全局变量和局部变量?1、全局变量:对全局变量直接修改会失败,通过间接修改也会失败,因...

C语言6个有趣的面试题
1、gets()函数 问: 请找出下面代码里的问题。答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。2、main()的返回类型 问:下面的代码能编译通过吗? 如果能,它有什么潜在的问题吗?答:...

一个c语言的疑惑
1、定义数组时,将字符数组各元素都赋初始值为空字符,'\\0'char str[200]={'\\0'};2、当不赋初始值时,需要取得字符数组的长度,并将后面的一个元素赋值为空字符。int n;char str[200];gets(str);n=strlen(str);str[n]='\\0';两种方法的实质意义相同,都是保证字符串数组在输入的字符串...

求c语言一些常见问题,
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“...

【C语言】一个比较基础的问题啦 要求输入一串字符,只能是数字或字母或...
单纯判断字母还是数字,C语言有内部函数可以直接用,比如头文件ctype.h下的函数。但你既然是基础问题,就自己写函数实现判断,对应字符ascii码判断。include<stdio.h> int main(){ int regcmp(char *str);char str[100];while(1){ scanf("%s",str);regcmp(str);} return 0;} int regcmp(...

c语言常见问题有哪些?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3)a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“a=...

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

如何用C语言完成这个问题 一个球从100米的高处自由落下,触地后反弹到...
C语言代码如下:include<stdio.h> int main() { double d = 100; \/\/ 皮球在空中经过的距离,第一次落地时为100m double h = 50; \/\/ 皮球反弹的高度,第一次反弹后为50m int i, n;scanf("%d", &n);for (i = 2; i <= n; i++) { \/\/ 从第二次落地开始 d += h * 2; ...

一个C语言题目?
C语言代码和运行结果如下:输出为36,数学验证一下,总分为0只可能为:4个同学都选甲题,2对2错;4个同学都选乙题,2对2错;2个同学选甲题,1对1错,另2个同学选乙题,1对1错 因此答案为:A(4,2)+A(4,2)+A(4,2)=36,结果正确,望采纳~附源码:include <stdio.h> int ans = 0...

发现了一个有趣的c语言问题,请各位大神帮忙解释一下。
2.scanf("%d",20000)这句合法并没有什么难以理解的地方,因为指针归根到底也只是一个地址值罢了,直接用地址值和直接用指针,这没有任何区别,最多就是编译器会警告你一下。不知道你说的“”自己定义一个函数比如f(*pointer);然后在用这种方法就会报错“”是什么意思 看下面代码 include <stdio.h...

相似回答