c 语言可变参数函数例子
#include<stdio.h>
#include<stdarg.h>
#include<string.h>
void demo(char *msg,...)
{
va_list argp;
int arg_number=0;
char *para = msg;
va_start(argp,msg);
while(1){
if ( strcmp( para, "\0") != 0 ) {
arg_number++;
printf("parameter %d is: %s\n",arg_number,para);
}
else
break;
para = va_arg(argp,char *);
}
va_end(argp);
}
int main()
{
demo("Hello","World","\0");
system("pause");
return 0;
}
相关文档:
这篇文章是使用SQLite C/C++接口的一个概要介绍和入门指南。
由于早期的SQLite只支持5个C/C++接口,因而非常容易学习和使用,但是随着SQLite功能的增强,新的C/C++接口不断的增加进来,到现在有超过150个不同的API接口。这往往使初学者望而却步。幸运的是,大多数SQLite中的C/C++接口是专用的,因而很少被使用到。尽管有这 ......
#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。
#pragma 指令对每个编译器给出了一个方法,在保持与C 和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。
依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。
一、#pragma message
#pragma ......
在C/C++中,跳出多层循环有3中方法:
1.用break;加上一个辅助的标志变量。
2.用goto;
3.用try ... catch;
其中break对if-else语句无效,每次使用只能跳出一层循环。
用break的具体方法为:
bool BREAK=false;
while(...){
for(...){
......