因为输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC(打个比方,你定义一个10个元素的char数组,结果你初始化了2个元素,后面没初始化,没赋值,没有使用,就变CC了)。CC CCH在Unicode的编码中就是表示中文的“烫”,所以就是很多“烫”字。****************************************************************************************************请lz在使用数组前,先把字符数组用‘\0’初始化!就行ok了! 因为的字符串的长度是80.而可能你赋值的时候,没有达到80的长度!而且程序也不会自动帮你添加‘\0’。所以打印的时候,是整个数组全部打印出来的!也就出现了这些。。。烫烫烫烫烫烫。。。。的乱码!#include<stdio.h> #include<string.h> char *jiami(char *str) { char a[100]={'\0'}; int key,i,j; printf("请确定加密秘钥:"); scanf("%d",&key); for(i=0;str[i]!='\0';i++) { if(str[i]>='A'&&str[i]<='Z') { a[i]=str[i]+key; (a[i]>'Z')?(a[i]=a[i]-26):(a[i]); } else if(str[i]>='a'&&str[i]<='z') { a[i]=str[i]+key; (a[i]>'z')?(a[i]=a[i]-26):(a[i]); } } //printf("%s",a); puts(a); return a; } main() { char string[100]; printf("请输入原文:\n"); gets(string); jiami(string); }
输出"烫烫烫烫烫烫烫烫烫烫烫烫"
最新推荐文章于 2024-04-04 16:53:03 发布