【发布时间】:2013-10-13 10:17:37
【问题描述】:
我想问你我的前卫。这个的主要目的是用从“tab1”和“tab2”数组收集的数据填充“result”数组。有人可以检查一下,为什么结果如此奇怪?谢谢。
#include <stdio.h>
#include <stdlib.h>
void laczenie(char tab1[],char tab2[])
{
int i;
char* result =(char*) malloc(100*sizeof(char));
for(i=0;i<30;i++)
{
if(tab1[i] != '\0') tab1[i]==result[i];
else if (tab2[i] !='\0')tab2[i]==result[i];
else printf(" ");
}
for(i=0;i<30;i++)printf("%c",result[i]);
free(result);
}
int main()
{
char x[10]={'n','a','p','i','s','1'};
char y[10]={'n','a','p','i','s','2'};
//char x[10] = {"napis1"};
//char y[10] = {"napis2"};
laczenie(x,y);
return 0;}
【问题讨论】:
-
您预计会发生什么?究竟发生了什么?
-
你永远不会为结果分配任何东西!` tab2[i]==result[i]` 仅检查值是否相同!
-
部分是因为
==!==。