一。main()
{ int a=0,b=1,c=0,d=20;
if(a) d=d-10;
else if(!b)
if(!c) d=15;
else d=25;
printf(d="d\n",d)
}
输出结果是多少?
二。设int x=10,y,z;执行y=z=x;x=y==z后,变量x的结果是多少?
三。#include<stdio.h>
main()
while(c=getchar()!="\n")
switch(c-""2")
{case 0:
case1:putchar(c+4);
case2:putchar(c+4);break;
case3:putchar(c+3);
default:putchar(c+2);break;
}
printf("\n");
}
一题十分,谢谢了
第三题 漏了问题 从键盘上输入446755 程序的输出是什么
原题全都是双引号 而且是int c 不是char
我只是打漏了第一个花括号而已
我知道代码错误多。。。。有的是我打错了,有的是原题错了。。。各位大神不要纠结细节了OTZ.....意会就好。。。只求解答过程。。。。
第三题题目上写的就是双引号
提问已经修改了 请帮忙看一下谢谢。。。。。。
那个是打漏的。。。笔误。。。细节就不要计较了。。。。
第三题怎么做?(看问题补充)
代码错误太多。
结果:88898787
修改后代码:
#include
main()
{
int c;
while((c=getchar())!='\n')
{
switch(c-'2')
{
case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4);
break;
case 3:
putchar(c+3);
default:
putchar(c+2);
break;
}
}
printf("\n");
}
我知道代码错误多。。。。有的是我打错了,有的是原题错了。。。各位大神不要纠结细节了OTZ.....意会就好。。。只求解答过程。。。。
追答main()
{
int c;
while((c=getchar())!='\n') // 输入:446755
{
switch(c-'2')// 字符串446755经过c-'2'处理后,对应数字224533
{
case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4); // 前2个22,执行这里,对应字符串44,加4后,输出88
break;
case 3:
putchar(c+3);// 33执行这里,对应字符串55,加3后,变成88,由于没有break;
所以接着执行default,putchar(c+2);,加2后是77,所以输出为8787
default:
putchar(c+2);// 45执行这里,对应字符串67,加2后,输出89
break;
}
}
printf("\n");
}
1.这是字符串,题目却是int c 请问是题目出错了吗
2.switch(c-'2')// 字符串446755经过c-'2'处理后,对应数字224533 以后的程序是要在原字符串的基础上修改,而不是在-2后的数字上修改对吧。。。?
3. putchar(c+3);// 33执行这里,对应字符串55,加3后,变成88,由于没有break; 所以接着执行default,putchar(c+2);,加2后是77,所以输出为8787这里完全不懂。。。OMG
1.int c没有错。它存储,字符的ASCII码值。
2 以后的程序是要在原字符串的基础上修改。
3
case 3: putchar(c+3);// 由于这里没有break;所以执行完毕此case后,它会顺序执行,也就是执行哪个default。
default: putchar(c+2);break;
你单步跟踪代码就知道了。