【发布时间】:2016-12-30 22:10:03
【问题描述】:
我在我的程序中使用 c 语言(我的实践)。如果我在每个变量中使用 1 个字符串,则此代码有效。但是,当我使用字符串数组(二维变量)时, 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"
index-0 的输出,例如:index-0: BSab[ - - BSab!(跳过第二个进程)并且 index-1 没有输出,因为进程已停止,我不知道为什么。
【问题讨论】:
-
在这里工作:ideone.com/zgcZbC。你是如何设置字符串的?
-
这很奇怪,当我在分享我的问题之前尝试此代码时,我总是失败。但是,现在它的工作。好的,谢谢你的回答。