问题描述
解决方案
字符串数组先用“”初始化一下,然后fuzhi函数最后加一个'',源码在下面,顺便把比较也实现给你好了,
#include "stdio.h"
#include "iostream"
#include
using namespace std;
void fuzhi(const char* src, char* des)
{
int i = 0;
for (; src[i] != ''; i++)
{
des[i] = src[i];
}
des[i + 1] = '';
}
int bijiao(char* src, char* des)
{
int i = 0;
while (true)
{
if (src[i] == '' || des[i] == '')
{
if (src[i] == '' && des[i] == '')
{
return 0;
}
else
{
if (src[i] == '' && des[i] != '')
return -1;
else
return 1;
}
}
int iState = int(src[i]) == int(des[i]);
if (iState == 1)
{
iState = 0;
}
else
{
iState = int(src[i]) - int(des[i]);
}
if (iState != 0)
{
return iState;
}
i++;
}
}
void main()
{
char src[256] = "I am src string";
char des[255] = "";
fuzhi(src, des);
cout << src << endl;
cout << des << endl;
cout << bijiao(src, des) << endl;
strcpy_s(des, src);
cout << bijiao(src, des) << endl;
system("pause");
}
解决方案二:
#include <stdio.h>
void fuzhi(char word1[],char word2[]){
int i = 0;
for(i = 0; word2[i] != ''; i++){
word1[i] = word2[i];
}
word1[i] = '';
puts(word1);
}
void main(){
char str1[10], str2[10];
gets(str1);
gets(str2);
fuzhi(str1,str2);
puts(str1);
}