プログラムを完成させるのに苦労しています。いくつかのエラーがあり、何を修正すればよいかわかりません。私の使命は、ユーザーから 2 つの文字列を取得するプログラムを作成することです。それらを印刷してから並べ替えて、2 つの文字列をマージして並べ替えて 1 つにする関数を作成する必要があります。しかし、名前が最初の文字列と2番目の文字列に表示される場合、3番目は両方の結合であり、2つの文字列がソートされた順序で存在し、重複しない名前を1回だけ表示します文字列のmallocメモリについてだと思いますが、どうしたらいいのかわからない!
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(46): error C2106: '=' : left operand must be l-value
1>c:\users\roni\documents\visual studio 2010\projects\lb11_12\lb11_12\lb_11_12_02.c(47): error C2106: '=' : left operand must be l-value
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
これは私のコードです:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#define LINES 4
#define length 100
void SortText1(char text1[LINES][length]);
void SortText2(char text2[LINES][length]);
void PrintStr1(char text1[LINES][length]);
void PrintStr2(char text2[LINES][length]);
void main ()
{
int i;
char text1[LINES][length];
char text2[LINES][length];
char text3[LINES+LINES][length];
printf("First string,Please enter %d names (only capital letters,without spaces):", LINES);
for ( i=0 ; i<LINES ; i++)
{
gets(text1[i]);
}
printf("Second string,Please enter %d names (only capital letters,without spaces):", LINES);
for ( i=0 ; i<LINES ; i++)
{
gets(text2[i]);
}
PrintStr1(text1);
PrintStr2(text2);
SortText1(text1);
system("pause");
return ;
}
void SortText1(char text1[LINES][length])
{
int i,j,k;
for (i=LINES-1 ; i>0 ; i--)
{
for ( j=0 ; j<i ; j++ )
{
if(strcmp(text1[i],text1[i+1]) > 0 )
{
char *temp=text1[i+1];
text1[i+1]=text1[i];
text1[i]=temp;
}
}
}
printf("The first string sorted:\n");
for ( k=0 ; i<LINES ; k++)
{
printf("%s ",text1[k]);
}
printf("\n");
}
void PrintStr1(char text1[LINES][length])
{
int i;
printf("The first string of NAMES:\n");
for ( i=0 ; i<LINES ; i++)
{
printf("%s ",text1[i]);
}
printf("\n");
}
void PrintStr2(char text2[LINES][length])
{
int i;
printf("The second string of NAMES:\n");
for ( i=0 ; i<LINES ; i++)
{
printf("%s ",text2[i]);
}
printf("\n");
}