為什么沒法退出就是在if{n=0}那塊
#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<stdio.h>void code(char *p,int key){while(*p!=''){ *p=97+(*p-97+key)%26; p++;}}void uncode(char *p,int key){while(*p!=''){ *p=97+(*p-71-key)%26; p++;}}main(){char str[100];int n,key;face:printf("加密輸入請1,,解密輸入請2,退出請輸入0"); scanf("%d",&n); printf("請輸入密匙(數(shù)字):"); scanf("%d",&key); printf("輸入要加密的字符串:"); scanf("%s",str);system("cls");if(n==1){ code(str,key); printf("密文為%s",str); getch();system("cls"); goto face;}else if(n==2){ uncode(str,key); printf("原文為%s",str); getch();system("cls"); goto face;}else if(n==0){ quit();}}
程序有多個問題,最主要的是
quit();//C/C++沒有這個函數(shù)的
你要改為
exit(0);
或
return 0;
另外的問題是
1.main()非標(biāo)準(zhǔn)寫法,正確的
int main()
2.使用了
goto
這個一般在程序中不建議使用,用while或do while可以替代它
3.你要先判n的內(nèi)容,再做相應(yīng)的處理,如你輸入0,就不必再輸入字串了