int n = 123;char buf[10];sprintf(buf, "%c%d%c", ch1, n, ch2);执行完后, buf的内容就是 "a123b"答案选我吧,谢谢啦。
调用函数fun前s2还未指向任何缓冲区,怎么有空间容纳数据呢?改成char s1[]="abcdef",buf[sizeof(s1)+1],*s2=buf;就行了。
#include<stdio.h>char*fun(char*s1,char*s2){inti=0;while(*(s1+i)!='\0'){*(s2+i)=*(s1+i);printf("s2+i=%c\n",*(s2+i));i++;}*(s2+i)='\0';returns2;}intmain(){chars1[]="abcdef"... #include <stdio.h>char * fun(char *s1,char *s2){ int i=0; while(*(s1+...