噢,不好意思我,看错了,我原来看漏了scanf("%d",p++);这一行, 我之前想说如果没有输入直接输出局部变量的话,只会输出内存地址, 但是这里定义了有运行时输入,所以是我疏忽了,但!!! scanf("%d",p++);这一行也存在问题! p++忘了加*号了,没有*号,是编译不过的哦! 而且应该这样改*(p++),这个高手您应该知道我不多说了。
[此贴子已经被作者于2004-07-24 15:56:56编辑过]
噢,不好意思我,看错了,我原来看漏了scanf("%d",p++);这一行, 我之前想说如果没有输入直接输出局部变量的话,只会输出内存地址, 但是这里定义了有运行时输入,所以是我疏忽了,但!!! scanf("%d",p++);这一行也存在问题! p++忘了加*号了,没有*号,是编译不过的哦! 而且应该这样改*(p++),这个高手您应该知道我不多说了。
[此贴子已经被作者于2004-07-24 15:56:56编辑过]
噢,不好意思我,看错了,我原来看漏了scanf("%d",p++);这一行, 我之前想说如果没有输入直接输出局部变量的话,只会输出内存地址, 但是这里定义了有运行时输入,所以是我疏忽了,但!!! scanf("%d",p++);这一行也存在问题! p++忘了加*号了,没有*号,是编译不过的哦! 而且应该这样改*(p++),这个高手您应该知道我不多说了。
为什么?不是应该用*吗?
不加*号编译通不过哦!我不知道是不是因为我用cin的问题,难道用scanf就能通过编译吗?
[此贴子已经被作者于2004-07-24 17:21:02编辑过]
哈哈,小傻瓜,往常我们在scanf()函数里面在变量前面用&是为了告诉函数 该变量(数组)的(首)地址是多少,现在p是一个指针,p=arr; 他指向的就是arr的首地址。除非你的p是多级指针,否则 scanf("%d",&p++) 这样用一级指针还真不知道会指向那里。
不过,knocker对待我们这些菜鸟的语气有点重了哦~~~~毕竟在一开始还没什么人这样用scanf()函数的嘛,不知者无罪~~
[此贴子已经被作者于2004-07-24 17:59:02编辑过]
被小弟哥哥您叫大哥弟弟我小弟,不是滋味!(小的我今年21岁了)
首先不好意思我错了,我是学C++的,用惯了cout和cin, 我是大二的,过了暑假就是大三了,菜鸟不要用在我身上,虽然我也不是高手。 毕竟我用C++已经有两年了,只是我不知道printf和scanf的用法(还是菜鸟呵)。 我之所以在C和不去C++版面是因为觉得那里的人都研究MFC,而我比较喜欢算法。
所以我还是泡在这里吧,我去过好多论坛,感觉这里不错,以后会经常来。
[此贴子已经被作者于2004-07-24 18:19:04编辑过]
呵呵...正是一语惊醒梦中人啊1
是啊,对于象我这样的初学者来说,指针真是有时候蛮难的,就如,对于一个多维数组来说,若一时不注意就很有可能把地址和内容给弄混了。
呵呵...
多谢多谢...