錯誤現象為:
呼叫print("aaaaa", "22222", "333333");出錯,截圖如下

呼叫print("bbbbb", "44444", "5555555", "666666");輸出正常
book@100ask:/mnt/hgfs/linux/linux_base$ ./multiapp
44444.....5555555.....666666.....
代碼如下:
請問如何解決。
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
int print(const char *format, ...)
{
va_list args;
const char *args1;
va_start(args, format);
while(1)
{
args1 = va_arg(args,const char *);
if(strlen(args1))
printf("%s.....",args1);
else
break;
}
va_end(args);
printf("\n");
return 0;
}
int main()
{
print("aaaaa", "22222", "333333");
//print("bbbbb", "44444", "5555555", "666666");
return 0;
}
uj5u.com熱心網友回復:
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
int print(const char *format, ...)
{
va_list args;
const char *args1;
va_start(args, format);
//printf("%s.....", format);
while(1)
{
args1 = va_arg(args,const char *);
if (args1 == NULL)
break;
printf("%s.....",args1);
/*
if(strlen(args1))
printf("%s.....",args1);
else
break;
*/
}
va_end(args);
printf("\n");
return 0;
}
int main()
{
print("aaaaa", "22222", "333333", NULL);
//print("bbbbb", "44444", "5555555", "666666");
return 0;
}
供參考~
缺少結束標識
uj5u.com熱心網友回復:
主函式:int main()
{
print("aaaaa", "22222", "333333","");//長度為0的字串
print("bbbbb", "44444", "5555555", "666666","");
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260734.html
標籤:C語言
下一篇:求助大大們,關于類的靜態成員
