C语言 可变参数 (初始化OC数组最后的nil的由来)
2013-09-24 09:58
375 查看
// // main.m // sentinel // // Created by Sinosoft on 9/17/13. // Copyright (c) 2013 com.Sinosoft. All rights reserved. // #import <Foundation/Foundation.h> #import <stdarg.h> void printStrings(char *first,...) __attribute__((sentinel)); void printString(char *first,...){ va_list args; va_start(args, first); char *string = first; while (string != NULL) { printf("%s",string); string = va_arg(args, char *); } va_end(args); printf("\n"); } int addemUp(int firstNum,...){ va_list args; int sum = firstNum; int number; va_start(args, firstNum); while (1) { number = va_arg(args, int); sum += number; if (number == 0) { break; } } va_end(args); return sum; } int main(int argc, const char * argv[]) { @autoreleasepool { char* str = ""; if (str == NULL) { NSLog(@"dashi"); } else { NSLog(@"aaa"); } int sumbody = addemUp(1,2,3,4,5,6,7,8,9,0); printf("sum of 1-9 is %d\n",sumbody); // printStrings("spicy","pony","head", NULL); // // printString("machine","tool"); } return 0; }
相关文章推荐
- OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法
- 基础------初始化、构造器、重载、数组、可变参数
- OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法
- OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法
- TIJ读书笔记08-数组的初始化和可变参数形参
- 从头认识java-4.8 数组的初始化(2)-可变参数列表
- OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法
- C语言中的可变参数-printf的实现原理 在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出
- 从头认识java-4.8 数组的初始化(2)-可变参数列表
- 从头认识java-4.8 数组的初始化(2)-可变参数列表
- TIJ读书笔记08-数组的初始化和可变长参数形参
- C语言下的创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
- GNU C语言的 扩展(二)零长度数组&可变参数宏
- OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法
- 利用runtime,避免UIButton 重复点击, 可变数组和可变字典为nil,或者数组越界导致的崩溃
- C语言之可变参数问题
- C语言中可变参数
- 详解C语言可变参数va_list和vsnprintf及printf实现
- IOS开发之Bug--关于C语言数组的容量参数
- C语言中的可变参数函数