【发布时间】:2018-07-15 17:44:56
【问题描述】:
我是编程新手,我正在尝试制作一个可以将确定数量的字符连接到另一个字符串的函数。它正在正确计算字符数,但不会像任务想要的那样显示。 谁能解释一下为什么?
一个例子是(预期输出):
字符串 1:测试
字符串 2:字符串
N: 4(向用户询问值)
结果:TestingStri
到目前为止我的代码是这样的:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void ConcatenateString(char *string, char *string2);
int main()
{
char string[100];
char string2[100];
ConcatenateString(string, string2);
DisplayStrings(string, string2);
}
void ConcatenateString(char *string, char *string2)
{
int N;
system("cls");
printf ("First string: ");
gets(string);
fflush(stdin);
printf ("Second string: ");
gets(string2);
printf("Number of characters: ");
scanf ("%d", &N);
int i;
int count = 0;
for(i=0;string2[i];i++)
{
count++;
}
while (count < N)
{
string2[count++] = string2[i];
}
strcat(string,string2);
}
void DisplayStrings(char *string, char *string2)
{
printf("\nFirst String:\n");
printf("%s\n", string);
printf("\nSecond String:\n");
printf("%s\n", string2);
}
错误的(实际)输出:
String 1: Testing
String 2: String
N: 4
Output: TestingString
它并没有真正显示我要求的字符串 2(例如)中的 4 个字符。
【问题讨论】: