输出"烫烫烫烫烫烫烫烫烫烫烫烫"

因为输出"烫烫烫烫"是因为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);
	
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值