C语言编程:sprintf(chr,"%s",a[1]);字符数组输出的问题

2025-04-28 04:15:30
推荐回答(2个)
回答1:

1、字符数组输出的时候,应该传入字符组首地址。sprintf(chr,"%s",a);才正确。
2、sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。
sprintf 是个变参函数,定义如下:
int sprintf( char *buffer, const char *format [, argument] ... );
除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:
格式化字符串上。

回答2:

如果你知道位置:
sprintf(chr,"%s",a[1]); chr[5]=0; printf("%s\n",chr); 只输出abolg

如果你寻找小括号位置abcdolg(2):
int i;
for (i=0;iprintf("%s",chr); 只输出abcdolg