#include<stdio.h> int main() { char str[40]; int len = 0; char* p = str; gets(str); for (p;*(p-1)!='\0'&&*p!='\0';p+=2) { putchar(*p); } return 0; }
因为你判断写错了 ,指针一次移动两地址 导致*p跳过‘\0’