黑马程序员技术交流社区

标题: 大家来找错3续 [打印本页]

作者: WANGJIAO    时间: 2014-10-23 18:10
标题: 大家来找错3续
自从get新技能后我把这题改了下,但是出现了如图所示情况,求解ING
代码如下
  1. /*编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。*/

  2. #include <stdio.h>
  3. #include <string.h>
  4. int main()
  5. {

  6.      //提示输入句子
  7.     printf("请输入:\n");
  8.     //接收输入数据(数据大小不定,设一个最大值)
  9.     char arr[200];
  10.    
  11.     gets(arr);
  12.     //判断,并加密,输出
  13.     for (int i = 0; arr[i]!='\n'; i++) {
  14.         
  15.         //大写和小写都要加密
  16.         if ((arr[i]>='a'&&arr[i]<='w')||(arr[i]>='A'&&arr[i]<='W')) {
  17.             
  18.             printf("%c",arr[i+3]);
  19.         //XYZ是最后三个字母应分开计算,从头开始循环
  20.         }else if((arr[i]>='x'&&arr[i]<='z')||(arr[i]>='X'&&arr[i]<='Z')){
  21.             
  22.             printf("%c",arr[i+3-26]);
  23.             
  24.         }else{
  25.         //不是英文字母直接输出本身
  26.             printf("%c",arr[i]);
  27.         }

  28.     }
  29.                 return 0;
  30.     }
复制代码

作者: WANGJIAO    时间: 2014-10-23 18:11
segmentation fault:11




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2