C 使用字符间距为的printf打印数组
这一个很简单,我有一个字符数组,我想打印它,但我想在数组的每个单独成员之间有一个空间,这可以用printf吗?还是我必须准备一个单独的功能 例如:C 使用字符间距为的printf打印数组,c,arrays,printf,C,Arrays,Printf,这一个很简单,我有一个字符数组,我想打印它,但我想在数组的每个单独成员之间有一个空间,这可以用printf吗?还是我必须准备一个单独的功能 例如: char array[]="hello"; printf ("%s", array); 输出: h e l l o 您也可以使用此方法来解决您的任务 int main(){ char array[]="hello"; char *p=&array; while(*p) { printf("%c ",*p
char array[]="hello";
printf ("%s", array);
输出:
h e l l o
您也可以使用此方法来解决您的任务
int main(){
char array[]="hello";
char *p=&array;
while(*p) {
printf("%c ",*p);
p++;
}
return 0;
}
输出
h e l l o
如果你知道数组的长度,那么让它为n
for(i=0;i),因为您不希望在最后一个字符后有额外的空格:
char *tmp = array;
if (*tmp) {
putchar(*tmp++);
while (*tmp) {
putchar(' ');
putchar(*tmp++);
}
}
或者把它变成一个函数:
void put_with_spaces(const char *s, FILE *fp)
{
if (!*s)
return;
fputc(*s++, fp);
while (*s) {
fputc(' ', fp);
fputc(*s++, fp);
}
}
当我浏览这个问题时,我想到了一个新的解决办法
for (int i = 0; i < n; i++) {
printf("%*c", 1 + !!i, arr[i]);
}
for(int i=0;i
你必须创建一个(简单的)函数来完成这项工作。你需要一个单独的函数,例如:void spacedprint(const char*s){putchar(*s++);while(*s){putchar(“”);putchar(*s++);}
你希望打印多少空间”
,“h”
和“he”
?(0,0,1)?@pmg:您应该在打印任何内容之前测试非空字符串,否则您的代码就是我所想的。@JonathanLeffler:void spacedprint(const char*s){if(s&&*s){/*请参阅旧的注释*/}
您也可以简单地使用并执行printf(“%c”,数组[0])你只需要比数组长度少做一次,然后再单独做一次,否则你会得到比你需要的更多的空间。这也会导致比需要的多出一个空格字符。很好地使用文件指针来存储内容!