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]);
}
问题是如果我输入
"abcdefg"
,"abcdefgh"
和"abc"
作为输入,我会得到abcdefg abcdefg
abcdefgh abcdefgh
abc abc
有什么办法让第二个
"abcdefgh"
与第二个"abcdefg"
和"abc"
保持一致? 最佳答案
停止使用TAB字符(\t)作为分隔符,请改用正确的格式规范,如果您希望字符串以第20列开头,请输入:
printf( "%-20s%s", namelist[i],namelist[i]);
关于C printf char以连续方式大于或等于8个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13529711/