C++程序的问题,利用指针实现整数的连续输入,然后再输出,程序中如果加了num1[j]=(*p)⼀10;这句话就不对

2024-12-20 18:08:06
推荐回答(3个)
回答1:

你应该用的是vc吧,你这个代码有问题,p++的地还有地址是个随机数无法确定,还有你要使用命令行参数就要就用那两个参数,argc 字符块的个数,argv 存放字符串的,使用方法,程序名后跟字符串。另外,p的地址值无法确定,其指向的值又怎么确定,因此会出现无法输出值,并调试的信息

回答2:

p=&a;
p++; 地址增 1 *sizeof(int); 出界了。
出界 地址 碰巧 你还可以 用,但 通常 不能使用。

加了这句话之后就不能正常的输出了 -- 出界了的p 与 num1[j] 地址 或别的地址 冲突了。

回答3:

看不懂你程序要干吗 首先p指向了a的地址 然后 你在while循环里竟然p++
这时候p已经是个野指针了,不加那句话能过就已经是幸运的了。其次你的num1[j]
num1只有11个长度 儿如果你在前边输入的字符数超过11个的话 num1就会越界,你这个程序达不到你要求的功能的。