c语言-关于C语言的问题字符串+1问题

问题描述

关于C语言的问题字符串+1问题

//给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,
// 如aBf转换成bCg,字符串内的其他字符不改变,给定函数,
//编写函数 void Stringchang(const char*input,char*output) 其中input是输入字符串,output是输出字符串
#include
#include
void stringchang(const char*input,char*output)
{
for(int i=0;i<255;i++)
{
output[i]=input[i]+1;
switch(input[i])
{
case'z':output[i]='a';break;
case'Z':output[i]='A';break;
}
if(input[i]=='')
break;
}

}

void main()
{
char input[255];
char output[255];
gets(input);
stringchang(input,output);
puts(output);
}
为什么输出结果总是会乱码?

解决方案

修改后的代码:
#include

void stringchang(const char*input,char*output)
{
for(int i=0;i<255&&input[i]!='';i++)
{
output[i]=input[i]+1;
switch(input[i])
{
case'z':output[i]='a';break;
case'Z':output[i]='A';break;
}

}

}
void main()
{
char input[255]={''};
char output[255]={''};
gets(input);
stringchang(input,output);
puts(output);
}

解决方案二:

当input[i] = '' 时, 你忘记了 output[i] =''

解决方案三:

其他字符,包括'‘都没有处理(原样照抄),这里只做了转换,所以就这样了

解决方案四:

[C语言]字符串的各种问题
c语言中的字符串问题
关于c语言中的字符串的问题

解决方案五:

你的 output 内存没有清零:你只是赋值了前三个,后面的是随机的数值,所以输出就是乱码。

时间: 2024-09-14 15:00:11

c语言-关于C语言的问题字符串+1问题的相关文章

c语言-求用C语言编写将“hello”这样的字符串转化为十六进制的代码实现

问题描述 求用C语言编写将"hello"这样的字符串转化为十六进制的代码实现 求用C语言编写将"hello"这样的字符串转化为十六进制的代码实现,急急急!!! 解决方案 #include<stdio.h> void main() { char str[]="abhello"; char *p=str; while(*p) { printf("%x ",*p++); } } 解决方案二: #include "

c语言有关于纸牌游戏的字符串识别问题

问题描述 c语言有关于纸牌游戏的字符串识别问题 有关字符串识别的问题,实在不明白应该是什么思路,求思路,最好有代马,跪谢!!! 解决方案 首先把字符串放到一个数组里面,字母全部用数字代替.遍历数组,全部异或,得到数值再挨个与数组中的数字对比,如果有相等,就是二对. 解决方案二: 加个变量记着...

VB6.0语言中关于布尔表达式转换成字符串的问题

问题描述 VB6.0语言中关于布尔表达式转换成字符串的问题 VB6.0语言数据库里存储的布尔表达式怎么以结果的形式拿到值,或者字符串转换为表达式的运算 解决方案 你可以用scripthost去执行你的表达式,得到结果

C语言中将日期和时间以字符串格式输出的方法_C 语言

ctime()函数:头文件: #include <time.h> 定义函数: char *ctime(const time_t *timep); 函数说明:ctime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回.此函数已经由时区转换成当地时间,字符串格式为"Wed Jun 30 21 :49 :08 1993\n". 注意:若再调用相关的时间日期函数,此字符串可能会被破坏. 返回值:返回一字符串表示

C#语言与Java语言程序的比较

迈入二十一世纪以来,信息行业飞速壮大,其中在软件开发中Java语言与C#语言都独当一面,得到了逐步完善和广泛的应用,Java语言和C#语言都是一种面向对象的语言,但Java程序和C#程序还是有一定的区别. 下面分别是两种语言的程序的例子. 1.Java语言的基本程序: Import java.util.*; Package HelloJava{ Public class Message{ Public static void main(String [] args){ System.out.pr

Swift语言指南(一)--语言基础之常量和变量

原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swift 提供了 C 与 Objective-C 中的所有基础类型,包括表示整数的 Int,表示浮点数的 Double 与 Float,表示布尔值的 Bool,以及表示纯文本数据的 String. Swift 还为两个基本集合类型 Array 与 Dictionary 提供了强大的支持,详情可参考 (集合

Thinkphp搭建包括JS多语言的多语言项目实现方法_php实例

本文实例讲述了Thinkphp搭建包括JS多语言的多语言项目实现方法.分享给大家供大家参考.具体实现方法如下: 一.问题: 项目需要开发英文版,于是需要搭建多语言项目. 项目使用Thinkphp框架,隐约记得Thinkphp有多语言设置,翻看了帮助手册,果然有,这就边实验边开始: 二.实现方法: Thinkphp采用app_begain来检测和切换语言包,语言包和项目相关,构架等都比较简单,具体的这里:http://www.thinkphp.cn/info/188.html 搭建好了,就可以使用

r语言-对一个向量的划分,求C语言或R语言实现

问题描述 对一个向量的划分,求C语言或R语言实现 1C 向量U={123456}利用R1属性划分为:U/R1={{123}{456}}利用R2属性划分为:U/R2={{12}{3456}}利用R3属性划分为:U/R3={{1234}{56}}最后得到划分的交集:U/R={{12}{3}{4}{56}}

Swift语言指南(三)--语言基础之整数和浮点数

原文:Swift语言指南(三)--语言基础之整数和浮点数   整数   整数指没有小数的整数,如42,-23.整数可以是有符号的(正数,零,负数),也可以是无符号的(正数,零). Swift提供了8,16,32,64位形式的有符号和无符号的整数,这些整数遵循与C语言相似的命名规则.如8位无符号整数的类型为UInt8,32位有符号整数的类型为Int32,和Swift语言的其它类型一样,这些整型命名以大写字母开头.   整数的边界 你可以通过min或max属性为每一个整数类型指定一个最小值或最大值:

各国语言缩写列表,各国语言缩写-各国语言简称,世界各国域名缩写

$amount = '12345.67'; $formatter = new \NumberFormatter('en_GB', \NumberFormatter::CURRENCY); echo 'UK: ' . $formatter->formatCurrency($amount, 'EUR') . '<br/>'; $formatter = new \NumberFormatter('de_DE', \NumberFormatter::CURRENCY); echo 'DE: '