C语言出现烫烫烫,是指针用错了吧,求老鸟解决~~~~
先上代码如下:
#include <stdio.h>
#define SIZE 6
int main()
{
int zz[SIZE] = { 1,2,3,4,5,6 };
char zzc[SIZE] = "abcdef";
char *zzd = "bcdefg";
int a, b;
for (a = 0; a < SIZE; a++)
printf("zz[%d]=%d ", a, zz[a]);
printf("\n");
printf("*zz=%d \n", *zz);
for (b = 0; b < SIZE; b++)
putchar(zzc[b]);
printf("\n");
putchar(*zzc);
printf("\n");
putchar(*(zzc + 1));
printf("\n");
putchar(*(zzd + 1));
printf("\n");
/* while (*zzc != '\0')
putchar(*(zzc++));
printf("\n"); 以上为非法*/
//只有指针能用增量运算
while (*zzd != '\0')
putchar(*(zzd++)); //打印字符,并在遇\0结尾时结束
printf("\n");
//如果要让zzc与zzd同样能用增量运算,可以让 zzd=zzc(但不能反过来),此时原来zzd数组的数据仍在,但已不能访问
zzd = zzc; //zzd指向zzc
while (*zzd != '\0')
putchar(*(zzd++));
printf("\n");
return;
}
以上是代码,输出为:
zz[0]=1 zz[1]=2 zz[2]=3 zz[3]=4 zz[4]=5 zz[5]=6
*zz=1
abcdef
a
b
c
bcdefg
abcdef烫烫烫烫烫
请按任意键继续. . .
本人菜鸟自学中,请大神指教,问题出在哪里?