OJ细节错误清单

答案错误

1.数组开的没问题,用的时候越界

a[100];
有a[j+1]这种表达式,j最大只能是99
相似的,还有a[j-1],j最小的时候是1

2.还是那个换行的问题

一但出现了T行数据的提示,就要小心

3.有关scanf的一些小问题

hin弱智的问题:for 循环不断scanf读入,数据要分开读(身份证号码那道题)
hin–弱智的一个问题,

4.时刻明白数据类型

转自在这里插入图片描述
(图片转自iamdebugman 的百度知道的问答)

int 就是10位而已
向身份证号码,显然不合适

5.注意那个回车键!!!

当作字符串读取得时候 scans 加 gets(),注意那个回车键,用getchar()处理一下

6.将语句放错了循环(检查)

7.关于find这个循环控制变量的调整

要明白她随时可能会改变,确保是你自己想要的

8.用数组做标记,是不是标记在你想要的那个元素

EG,猴子选大王那道题

RIGHT!

int t=0
 while(k<=m)//报数结束
        {
            t++;
            if(t==n+1)t=1;
            printf("%d ",t);
            if(A[t]==1)
            {
                k++;
            }
        }
        A[t]=0;

WRONG!

int t=1;//想从1开始数
while(k<=m)//报数结束
        {
            if(t==n+1)t=1;
            printf("%d ",t);
            if(A[t]==1)
            {
                k++;
            }
            t++;
        }
        A[t]=0;//我标记的是我要的那只猴子?!

运行时错误

1. 数组开的有问题!

不够大,或者出现下标为负……

2.动态数组没开够

p[i]=(char *)malloc(sizeof(char)*(l+1));

测出字符串长度,有‘\0’,长度要加一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值