C printf char连续多于或等于8个字符

Jac*_*ack 5 c char

if (namelist==NULL)
{
   namelist=(char**)malloc(sizeof(char**));
   namelist[i]=name;
}
else
{
   namelist=(char**)realloc(namelist,(i+1)*sizeof(char**));
   namelist[i]=name;
}

for(i=0;i<count;i++)
{
   printf("%s\t\t%s\n",namelist[i],namelist[i]);
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我进入"abcdefg","abcdefgh""abc"作为输入,我会得到

abcdefg          abcdefg
abcdefgh                    abcdefgh
abc              abc
Run Code Online (Sandbox Code Playgroud)

有没有办法让第二个"abcdefgh"成为第二个"abcdefg""abc"

len*_*nik 8

停止使用TAB字符(\ t)作为分隔符,使用正确的格式规范,如果您希望字符串从第20列开始,请写:

printf( "%-20s%s", namelist[i],namelist[i]);
Run Code Online (Sandbox Code Playgroud)