int main(){Biggn2();return 0;}這樣直接調(diào)用Biggn2()就能得到正確結(jié)果void xuanze(){char a[6];int num;scanf("%d",&num);switch(num){case 1:system("cls");{for(int j=0;j<6;j++)scanf("%c",&a[j]);Biggn1(a);}break;case 2:system("cls");Biggn2();break;case 3:system("cls");Biggn3();break;default :printf(" ");break;}}void jiemian(){printf("請輸入你需要的功能:\n");printf("1.輸入六個(gè)字符(以逗號間隔),得到加密后的二進(jìn)制數(shù)。\n");printf("2.輸入一個(gè)字符及加密盒(以逗號間隔),得到加密后的二進(jìn)制數(shù)。\n");printf("3.從文件讀取六個(gè)字符(以逗號間隔),得到加密后的二進(jìn)制數(shù)。\n");xuanze();}int main(){ jiemian();return 0;}這樣選擇Biggn2(),程序就會(huì)失敗。有什么可能的原因呢?void Biggn2(){char a;char b[8];int i=0,k=0;int z;//選擇盒子scanf("%c,%d",&a,&z);int j=0x8;for(;j;j>>=1){if(j&a){b[k++]=1;}else{b[k++]=0;}}//將8位轉(zhuǎn)換成6位char c[6];c[0]=b[0];c[1]=b[1];c[2]=b[2];c[3]=b[3];c[4]=b[4];c[5]=b[5];//取每組的第一和最后一位數(shù)字存放char a1[2];a1[0]=c[0];a1[1]=c[5];//取中間四個(gè)數(shù)字存放char b1[4];b1[0]=c[1];b1[1]=c[2];b1[2]=c[3];b1[3]=c[4];
如下程序,為什么我單獨(dú)調(diào)用函數(shù)沒問題,但用case語句調(diào)用就會(huì)出問題?
慕田峪7331174
2022-12-15 17:13:56