char c,k;c='b'; k=4;switch(c) { case 'a': k=1;cas

作者&投稿:司适 (若有异议请与网页底部的电邮联系)
char c,k;c='b'; k=4;switch(c) { case 'a': k=1;case 'b': k=2;case 'c': k=3;}, 结果K=3请问为什么~

switch case语句,当里面判断执行完后需要加入break;以退出选择,否则将一直继续往下执行到结束
也就是说c='b'会先执行k=2,执行完后会继续执行k=3,然后才退出整个switch语句

这里 K 是同一变量,因为字符 C='x' 不等于 'a','b','c'任何一个,所以 3 ,2 ,1 对K 的赋值没有执行.K还是 4.

答: 初步来看,本道题类似于在C语言当中考察switch语句的使用,奈何题目并不全。 所以目前只能给你提供个思路,就是说根据switch当中传入的参数与switch语句里面的case进行匹配,匹配成功时则会执行对应的语句,就比如说本题定义的字符c它的值为'b',因此呢,它就会匹配到case为'b'的场景。但是要注意在每个case后面要加上break语句。希望可以帮助到你。



题目并不全

无法帮
case 分枝后通常有 break
最后的 default 除外


莲都区19134458384: char c,k;c='b'; k=4;switch(c) { case 'a': k=1;case 'b': k=2;case 'c': k=3;}, 结果K=3请问为什么 -
姚削星索: switch case语句,当里面判断执行完后需要加入break;以退出选择,否则将一直继续往下执行到结束 也就是说c='b'会先执行k=2,执行完后会继续执行k=3,然后才退出整个switch语句

莲都区19134458384: K进制下的加法 c语言 -
姚削星索: 这问题实际上是在于如何将十进制的数显示为k进制数.#include void Show(int n, int k) { int m[16],i,nn; char c; for ( i=0;i i=0; nn=n; do { m[i++]=nn%k; nn/=k; } while ( nn ); for ( ;i>0;i-- ) { c=m[i-1]; c+=( c printf("%c",c); } } void main() { int k,x,y,z; ...

莲都区19134458384: 求一段C小程序关于度分秒.转换 -
姚削星索: #include<stdio.h> int main() { char ins[30]= "10°39\'59\"", c; int du, fen, miao; puts("请输入度数:"); gets(ins); sscanf(ins, "%d%c%c%d%c%d", &du, &c, &c, &fen, &c, &miao); printf("度数:%lf°\n", du+ fen/60.0 + miao/3600.0); return 0; }

莲都区19134458384: c语言字符串中找到一个运算符,怎样实现运算 -
姚削星索: 1、一个字符串里面包含运算符,要转成正常运算的运算符,可以用 宏指令.相当于直接执行语句.宏指令在不同语言中执行方式不同的. 2、例程: //基本的堆栈思想 #include#include typedef struct { int * base; int * top; int size; } stack_i; void ...

莲都区19134458384: 求古典密码学的c语言代码 -
姚削星索: 给: 维吉尼亚密码的C语言源代码 设m表示明文序列,k表示密钥序列#include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void crypt(char m[],char k[],char r[]) {int i,j,s=0;j=strlen(k);for(i=0;m[i];i++)m[i]...

莲都区19134458384: 3.以下程序的输出结果为( ). #include <stdio.h> main () { int a,b,c=246; a=c/100%9; b=( - 1)&&( - 1); -
姚削星索: 首先a=b=c=246; 再计算:a=c/100%9,先c整除100等于2,再求2除于9的余数等于2,所以最后a的值为2; b=(-1)&&(-1)的逻辑值是1,即b=1; c的值未改变.

莲都区19134458384: 设有两个字符串a和b,要求将a、b串对应字符中的较小者存在数组c的对应位置上(c语言) -
姚削星索: #include <stdio.h> #include <string.h> void main(){char a[80],b[80],c[80];int lena,lenb,i,j,k;gets(a);gets(b);lena=strlen(a);lenb=strlen(b);i=j=k=0;while (i<len(a) && j<len(b)){if (a[i]<b[j]){c[k]=a[i]; i++; k++;}else{c[k]=b[j];j++;k++;}}c[k]='\0';puts(c); } }

莲都区19134458384: #include <stdio.h> int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf( -
姚削星索: 第一 你的程序本身是有格式错误的,正确的应该是这样:#include int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } 然后说你的问题: 1.运行是输出 c1=a,c2=b c1=97,c2=98 2. 输出: c1=a,c2=b c1=97,c2=98 一样的

莲都区19134458384: 请问能 把char型的数据转换成int型的吗 int k; char c ; k=(int)c; -
姚削星索: h>int main() {int i_num;char c_num; i_num = 78;/直接转换成其char 同样的反过来也是可以的printf("c_num = i_num;/stdio可以的~ #include <,i_num,c_num);i_num = %d c_num = %c&quot

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