字符数组的一点问题
#include<stdio.h>
void main()
{char c[27] ="abcdefghijklmnopqrstuvwxyz", d[27]; / *26?27?*/
int i;
float error=0,z;
printf("%s\n",c);
printf("press enter to start,press again to stop...\n");
scanf("%s",d);
for(i=1;i<=26;i++)
{if(c[i]!=d[i])
error++;}
printf("error=%.0f\n",error);
z=(error/26)*100;
printf("percentage=%.2f%\n",z);
}
问一下:被标记的地方如果写成c[26]就出错了,可是数组是从0开始计数的,26个字母加上\0应该正好。
可实际上必须写成c[27]或c[],这是为什么?
本人初学者,请高人指点~