回复 10楼 qq525273446
无语中~~~~~~~~~ 改过来了,进行其他错误调试,谢谢!
修正后,正确代码如下: 调试运行正确,只是个别地方还需要再理解下! 与各位新手共勉!
#include<stdio.h>
#include<stdarg.h>
#include<string.h>
void tprintf(const char*format,...)
{
va_list ap;
int i;
va_start(ap,format);
if(format==NULL)printf("Defined error!");
for(i=0;i<strlen(format);i++)
switch(*(format+i))
{
case 'd':printf("%d\n",(int)va_arg(ap,int));break;
case 'c':printf("%c\n",(char)va_arg(ap,int));break;
case 's':printf("%s\n",(char*)va_arg(ap,int));break;
case 'f':printf("%f\n",(float)va_arg(ap,double));break;
default:printf("%s\n",format);break;
}
va_end(ap);
}
int main()
{
char a[]="cds";
tprintf(a,'r',14,"zou");
printf("%c%d%s\n",'r',14,"zou");
return 0;
}