零基础上路时易犯的错误和部分报错解决。(可拿去折磨室友)

零基础上路时易犯的错误和部分报错解决。(可拿去折磨室友),第1张

零基础上路时易犯的错误和部分报错解决。(可拿去折磨室友)

慢慢更新,本人就是个纯新手,写一写犯过的错,告示后来人。

开幕雷击(一):

 短短二十行代码,近200个报错,原地化身乐子人......

背景:pta函数题,头文件里没有,于是我灵机一动:

void s(){         #include

}..............

别耍小聪明就不会错了。

开幕雷击(二):致敬我的舍友出的傻缺bug(数据溢出类)

背景:pta凯撒密码,语法没错误,字母z右移8位本应变成h,结果我舍友:

char  ans;ans+8...... 好家伙直接超出char的127范围,给我另一个室友整不会了,半天改不出来。  

文件格式错误(三): vs2019,因为不重视文件格式,导致格式为cpp时  “gets”  报错。                                                     在制作“简易井字棋”时,也因为cpp格式吃过亏。(目前只会C)

 

———————  分————————————割———————————线—————————

(一)vs2019编译器报错:

          

          诸如此类的报错,在最开头添加:#define _CRT_SECURE_NO_WARNINGS ,可以消除报错顺利编译。(pta等刷题网站上必须写scanf,不可以写scanf_s)

 (二)pta报错(基本都是格式不对):

           pta让你按照“1 + 1 = 2”输出,你就把空格打出来,别整成“1+1=2”

(三)漏掉 / 添加 / 弄错  各种符号:

         1.  用中文写标点符号。                                                                                                                     

         2.  printf("%d",&n);  scanf("%d",n)     用&用魔怔了属于是。                                                               

         3.  同学,你结尾的 ; 呢?                                                                                                                 

         4.  for(;;),分号不是逗号;   自定义函数时void s(int t, int i),不要漏int,用逗号不用分号;                         do;while(1);  while结尾别                  漏了分号  

         5.  scanf输入数据时留个心。  %1d  表示只输入个位数                                                                   

       

        6.  char c;  c=“a”;  字符用单引号‘’,字符串用“”,而且字符串需要用char c[20]来存储。    

        7.  if(a=b);     int a==3;            ==是判断符,=是赋值符                                                                     

        8.  for(int i=0;i=7;i++);  (死循环)      表示判断应该用i==7,而i赋值为7,是非0的数,表明判断结果永远为true,就会让循环一直进行,导致死               循环。                                                                     

        9.  if(3<=x<=9) ;            哥们这不是数学,要用 x>=3 && x<=9                                                     

      10.  switch(n)  {  case ‘A’:printf(“85~100n”);   }    ,最后边别忘了加break;                                         

      11.  

(四) 数据类型(int char)相关错误:

       1.  float a,b,;   printf(“%d”,a%b);.      一是你的a,b没有初始化,二是非整数不可以取余                   

       2.  数据以补码形式存储在计算机里,请具体学习相关知识再理解此个“越界”错误。

 

       3.  数组越界的错误很复杂,有时候不报错,有时候报错就奇奇怪怪的。

(五) 堆栈相关问题:

       1.  int a[1000000][1000];  数组太大,stackover,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5657698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存