本人曾有一程序,愿与你共勉: 通过指针变量输出数组的20个元素。 main() { int *p,i,arr[20]; p=arr; for(i=0;i<20;i++) scanf("%d",p++); printf("\n"); for(i=0;i<20;I++,p++) printf("%d",*p);
}
请问我的这个程序对吗? 请提出你宝贵的意见。呵呵......
本人曾有一程序,愿与你共勉: 通过指针变量输出数组的20个元素。 main() { int *p,i,arr[20]; p=arr; for(i=0;i<20;i++) scanf("%d",p++); printf("\n"); for(i=0;i<20;I++,p++) printf("%d",*p);
}
请问我的这个程序对吗? 请提出你宝贵的意见。呵呵......
[此贴子已经被作者于2004-07-23 16:06:41编辑过]
不敢苟同!如果是简单的程序都不会运用指针,你还指望他在复杂的程序中用吗?
指针是C的灵魂,不会熟练运用指针就不能说学会了C。
请教一下楼上的哥哥~
我是一个初学者
为什么我每次练习写程序,写完运行的时候,下面总是会出现“0个错误,1个警告”。这我就不懂了。
难道是有什么地方不太妥吗?
还是什么地方应该注意一下啊?
在编一次就好了
经常有这种情况,不影响程序的
不敢苟同!如果是简单的程序都不会运用指针,你还指望他在复杂的程序中用吗?
指针是C的灵魂,不会熟练运用指针就不能说学会了C。
呵呵,我是出程序的应用及安全方面考虑, 如果程序因为这样而产生错误或者其他事故, 实在不值得。 你们都说得很对,当然要运用指针,不然就白学了C一趟, 学习归学习,还得注意的,我的意思是:谨慎。 不怕见笑,本人学习指针的时候也经常有此错误, 有时候指针指到哪地方都不知道了, 是于经常发生错误,错在那里也不知道。 为此我把这类错误都硬背了下来, 又抄了几遍,挺傻呆呆的呵呵。 有种“一招被蛇咬,十年怕井绳”的感觉。
请教一下楼上的哥哥~
我是一个初学者
为什么我每次练习写程序,写完运行的时候,下面总是会出现“0个错误,1个警告”。这我就不懂了。
难道是有什么地方不太妥吗?
还是什么地方应该注意一下啊?
逻辑上有错误或者逻辑上有可能错
例如:
if(a=1)printf("****");
这样就会有警告,但是程序能通过编译且能正确运行。
斑竹厉害,一眼看到致命的错误。 其实还有一个错误,就没有给p赋值,在main函数中定义的属于局部变量, 我指的是那个数组是一个局部变量,于是其20个值都是随机数而不是0! 最后计算p指针复位,打印出来不是0而是20个随机变量而已。 我姑且说说,致命的还是在指针,不过来讨论一个问题好吗? 它这样写编译时可以通过吗?请在不实践的情况下想一想,到底是会提示什么错误? 是说指针not found呢,还是可以通过而打印出内存地址?或者其它?
[此贴子已经被作者于2004-07-24 15:56:05编辑过]
斑竹厉害,一眼看到致命的错误。
其实还有一个错误,就没有给p赋值,在main函数中定义的属于局部变量,
我指的是那个数组是一个局部变量,于是其20个值都是随机数而不是0!
最后计算p指针复位,打印出来不是0而是20个随机变量而已。
我姑且说说,致命的还是在指针,不过来讨论一个问题好吗?
它这样写编译时可以通过吗?请在不实践的情况下想一想,到底是会提示什么错误?
是说指针not found呢,还是可以通过而打印出内存地址?或者其它?
真不知你在说些什么?
main() { int *p,i,arr[20]; p=arr; for(i=0;i<20;i++) scanf("%d",p++); printf("\n"); p=arr; //就是少了这一句 for(i=0;i<20;i++,p++) printf("%d ",*p);
}
你的那些什么什么问题从何谈起?