随机尾随字符在C中打印字符串
您好,我正在尝试创建一个仅由下划线和空格组成的字符数组。该函数游戏接受一个字符数组,并创建一个新数组,其中所有字符都转换为下划线和空格,例如堆栈将为 它在某种程度上确实有效,我得到了所有的下划线,但我得到了数组末尾的随机字符。我是c新手,所以如果有人能看到我哪里出错了,我将不胜感激随机尾随字符在C中打印字符串,c,arrays,C,Arrays,您好,我正在尝试创建一个仅由下划线和空格组成的字符数组。该函数游戏接受一个字符数组,并创建一个新数组,其中所有字符都转换为下划线和空格,例如堆栈将为 它在某种程度上确实有效,我得到了所有的下划线,但我得到了数组末尾的随机字符。我是c新手,所以如果有人能看到我哪里出错了,我将不胜感激 int game(char p[]) { int length = strlen(p); int newLength = length * 2; newLength = newLength +1; char di
int game(char p[])
{
int length = strlen(p);
int newLength = length * 2;
newLength = newLength +1;
char display[newLength];
InitializeArray(display,newLength);
for(int i = 0;i<=length-1;i++)
{
if(p[i]==' ')
{
display[i*2]=' ';
}
else
{
display[i*2] = '_';
}
}
}
int InitializeArray(char Array[], int Length)
{
int i;
for (i = 0; i < Length-1; i++)
{
printf("%i",i);
Array[i] = ' ';
}
}
始终使用“\0”或0x00字符终止字符串,这是标识字符串strlen、printf等结尾的约定,需要它。始终使用“\0”或0x00字符终止字符串,这是标识字符串strlen、printf等结尾的约定,需要它。字符数组的结尾必须有空字符“\0”。字符数组的结尾必须有空字符“\0”。替换:
int InitializeArray(char Array[], int Length)
{
int i;
for (i = 0; i < Length-1; i++)
{
printf("%i",i);
Array[i] = ' ';
}
}
作者:
因为所有字符串都需要以字符“\0”结尾,所以这是一种约定。它存在什么?允许开发人员知道字符串的结束位置
如果您需要更多信息,欢迎使用:替换:
int InitializeArray(char Array[], int Length)
{
int i;
for (i = 0; i < Length-1; i++)
{
printf("%i",i);
Array[i] = ' ';
}
}
作者:
因为所有字符串都需要以字符“\0”结尾,所以这是一种约定。它存在什么?允许开发人员知道字符串的结束位置
如果您需要更多信息,欢迎使用:我不太了解您的目的,但我认为问题是关于“\0”我不太了解您的目的,但我认为问题是关于“\0”我不确定两个函数的长度是否相同,但是很明显,for的条件是differentine,我不确定你的两个函数的长度是否相同,但是很明显,for的条件是differentine