我在我的程序中使用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因为进程停止,我不知道为什么。