我是编程新手,我正在尝试制作一个可以将确定数量的字符连接到另一个字符串的函数。它正在正确计算字符数,但不会像任务所希望的那样显示。 谁能告诉我为什么?
一个例子是(预期输出):
字符串 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 个字符。
最佳答案
for(i=0;string2[i];i++)
{
count++;
}
此代码计算 string2
中的字节数。我认为您需要在此处使用 string
。
while (count < N)
{
string2[count++] = string2[i];
}
此代码将 string2
中的内容从一个地方复制到另一个地方。我认为您想从 string2
复制到 string
。
strcat(string,string2);
此代码连接string
和string2
。你绝对不需要这个;它只会在您显示结果时让您感到困惑。
关于c - 我如何将确定数量的字符与另一个字符串连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350691/