C语言不使用中间变量交换两个数

1. a^=b^=a^=b;

2. a = a + b; b = a - b; a = a - b;

网上听说有人在gcc下不使用编译优化的情况下第一种方法不起作用,特意尝试了下,结果是正确的。

windows:

visual studio 2005:通过

linux:

gcc 4.6.3 :通过

strtok函数,用于分割字符串,第一次调用使用被分割字符串,后面使用null,指导返回null。另一个是strtok_r函数,功能类似。c89, c99支持,posix支持。

相关推荐