注册 登录
编程论坛 C++ Builder

求解 变量的问题T-T

bid2938692 发布于 2009-11-17 16:45, 891 次点击
#include "stdio.h"
#include "conio.h"
int main()
{
     char s[10];
     int i;
     gets(s);
     for(i=0;s[i];i++)
     {     if(s[i]>='A'&&s[i]<='Z')
             s[i]=2*'A'-s[i]+25;
         else if(s[i]>='a'&&s[i]<='z')
               s[i]=2*'a'-s[i]+25;
     }
     puts(s);
     getch();
     return 0;
}
上述的s[10]只定义了10个变量
但是我输了20个变量都没有提示错误或溢出这是怎么回事呢???
实在是不明白,一般不是没有定义的变量都会提示错误
1 回复
#2
johnkyee2009-11-18 20:46
s[10]只是告诉编译器分配了10个char的内存空间,指针是s,如果存储的串超过了10个,所超出的字符串会顺序的写入之后测存储区,破坏其他数据,这时候可能会出错,也可能不会,这要看操作系统能否判断出来。你多试几次,一定会产生出错信息的。
1