使用c by substract char进行简单编码

时间:2016-12-30 22:10:03

标签: c encode

我在我的程序中使用c语言(我的练习)。如果我在每个变量中使用1个字符串,则此代码可用。但是,当我使用字符串数组(2维变量)时,str2 [x](第二个字符串)不编码,只有str1 [x]& str3 [x]。

这里是我的代码(我在这里通过浏览获得此代码):

#include<stdio.h>
#include<conio.h>

char *encode(char *str){
  int i=0;
  while(str[i]!='\0'){
    str[i]=str[i]-18;
    i++;
  }
  return str;
}

int main(){
  int i,n;
  char str1[50][50],str2[50][50],str3[50][50];

  printf("How many data: ");
  scanf("%d",&n);
  for(i=0;i<n;i++){
    printf("String 1: ");
      scanf("%s",str1[i]);
    printf("String 2: ");
      scanf("%s",str2[i]);
    printf("String 3: ");
      scanf("%s",str3[i]);
  }
  for(i=0;i<n;i++){
    printf("index-%d: %s - %s - %s\n",i,encode(str1[i]),encode(str2[i]),encode(str3[i]));
  }
  return 0;
}

例如,我输入了2个数据。

首先输入:"Test1", "Test2", "Test3" 第二个输入:"Test4", "Test5", "Test6"

输出索引-0为ex:index-0: BSab[ - - BSab!(第二个进程被滑雪)并且没有输出为index-1因为进程停止,我不知道为什么。

1 个答案:

答案 0 :(得分:0)

您正在fflush(stdin); undefined behavior