#include<stdio.h>
#define foreach(val,arr) \
for (size_t i = 0, ctr = 0; i < sizeof(arr)/sizeof(arr[0]); i++,ctr = 0)\
for (val = arr[i]; ctr < 1; ++ctr)
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,2,1 };
foreach(int n, arr)
{
printf("%d ", n);
}
const char* names[] = { "maye","哈哈哈","幻阳","锦江" };
//for (size_t i = 0, ctr = 0; i < sizeof(names) / sizeof(names[0]); i++, ctr = 0)
// for (const char*s = names[i]; ctr < 1; ++ctr)
// {
// puts(s);
// }
#define forRange(val,arr) \
for (size_t i = 0,cnt = 0; i < sizeof(arr)/sizeof(arr[0]); i++,cnt=0)\
for(val = arr[i];cnt<1 ;cnt++ ) //内层循环只运行一次
for (size_t i = 0; i < 4; i++)
{
const char* ps = names[i];
puts(ps);
}
forRange(const char* sss, names)
{
puts(sss);
}
//const char* pssss;
//for (size_t i = 0, cnt = 0; i < sizeof(names) / sizeof(names[0]); i++)\
// for (pssss = names[i], cnt = 0; cnt < 1; cnt++) //内层循环只运行一次
// {
// puts(pssss);
// }
return 0;
}