[问题] 大数加法练习 发生写入位置存取违规

楼主: iwantstronge (...)   2014-10-31 06:25:39
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
问题(Question):
各位大大好 我在做大数加法练习时一直无法成功
改了好几次写法 可能是观念不好 一直找不到症结点
错误结果(Wrong Output):
编译都会过 但在执行时会出现
"写入位置 0x00000000 时发生存取违规。" 的讯息而导致中断
程式码(Code):(请善用置底文网页, 记得排版)
#define L 100 // L是预计相加数字的最大位数 我设100
using namespace std;
int input(int* data,char n[]){ //这个函式负责把输入的字串反过来并存在
int i,l; //矩阵中
l=sizeof(n);
memset(data, 0, sizeof(int)*L);
for (i=L-1; i>=0;
作者: johnpage (johnpage)   2014-10-31 06:31:00
int *big1=NULL?????
作者: lucky1lk (赌到没钱的人)   2014-10-31 06:56:00
int input(int* data,char n[]) ... return 0; ????我不懂你的input的作用 或许是我C不够熟...++
作者: cjcat2266 (CJ Cat)   2014-10-31 07:24:00
你的out, big1, big2通通没有allocate memory啊还有sizeof(char [])不会给你字串长度,要用strlen
作者: dontblame (占卜师)   2014-10-31 12:53:00
存取违规 通常就是因为 你没配置内存给该变量
作者: jacky1989   2014-10-31 12:57:00
好可爱的排版阿....
作者: tsoahans (ㄎㄎ)   2014-10-31 14:20:00
你的out是null耶
楼主: iwantstronge (...)   2014-10-31 18:19:00
感谢楼上几位 在配置完内存跟改用strlen后 不会执行中断 但是输出的结果都是一堆-5-5-5-5-5-5-5-5-6之类的数字 不论我输入的是什么...想不太到哪里还有问题...感觉应该跟传入char后的型态处理有关系...在input函式中cout输入的字串都不是正确的...
作者: jacky1989   2014-11-01 02:49:00
我只看得懂C,看不懂C++......

Links booklink

Contact Us: admin [ a t ] ucptt.com