2016-12-30 52 views
-2

我使用c语言为我的程序(我的做法)。如果我在每个变量中使用1个字符串,这个代码是可行的。但是,当我使用字符串数组(2维变量),str2 [x](第二个字符串)不编码,只str1 [x] & str3 [x]。简单编码使用c通过减号字符

这里我的代码(我在这里浏览获取此代码):

#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为前:index-0: BSab[ - - BSab!(第二处理是skiped),并且没有输出索引1,因为该过程停止,不知道为什么。

+1

这里工作:https://ideone.com/zgcZbC。你如何设置琴弦? –

+0

这很奇怪,当我在分享我的问题之前尝试此代码时,我总是失败。但是,现在这是工作。好的谢谢你的答案。 –

回答