nanke1006 2015-09-12 02:26 采纳率: 100%
浏览 2342
已采纳

关于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]=='\0')
break;
}

}

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

  • 写回答

5条回答 默认 最新

  • gh_99 2015-09-13 14:35
    关注

    修改后的代码:
    #include

    void stringchang(const char*input,char*output)
    {
    for(int i=0;i<255&&input[i]!='\0';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]={'\0'};
    char output[255]={'\0'};
    gets(input);
    stringchang(input,output);
    puts(output);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分 合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备