确定性错误的例子

有人能给我一个程序中确定性错误的例子吗? 谢谢。     
已邀请:
void bug()
{
  int *ptr = 0;
  ptr[0] = 10;
}
访问空指针。总是发生。     
这是一个确定性的错误:
void myStrCpy (char *s, char *d) {
    for (int i = 0; i < strlen (s) - 1; i++)
        *d++ = s[i];
    *d = '';
}
很明显忘记复制字符串的最后一个字符,这意味着副本少一个字符。 对于具有赋值语句的人,您可以使用:
#include <stdio.h>
int main (void) {
    short x = 2094967295;
    printf ("%dn", x);
    return 0;
}
它始终如一地输出
-22017
。 或者甚至是关于SO的最近一个问题的一小部分片段:
int x = 2^5;   // set x to 32 for bitmasking later.
这是一个错误,尽管是用户错误的错误。 甚至:
int *x = malloc (4);
在一个应该是可移植的应用程序中。     

要回复问题请先登录注册