#include <stdlib.h>
int main(void)
{
int i, num;
int count = 0;
int *ptr = NULL; // 注意,这里必须初始化为NULL
do
{
printf("请输入一个整数(输入-1表示结束):");
scanf("%d", &num);
count++;
ptr = (int *)realloc(ptr, count * sizeof(int));
if (ptr == NULL)
{
printf("内存空间不足!\n");
exit(1);
}
ptr = num;
} while(num != -1);
printf("输入的整数分别是:");
for (i = 0; i < count; i++)
{
printf("%d ", ptr);
}
printf("\n");
free(ptr);
return 0;
}
请问ptr = num; 和 ptr;这两个程序语句是什么意思啊....如果是输出指针地址中所存放的值的话,输出不应该使用解引用*ptr吗?存放的话,也得需要&符号吧.....
打卡 #include <stdio.h>
#include <stdlib.h>
int main()
{
int *ptr = NULL;
int num, i;
printf("请输入待录入整数的个数:");
scanf("%d", &num);
ptr = (int*)malloc(num * sizeof (int));
for (i=0; i<num; i++)
{
printf("请录入第%d个整数:", i+1);
scanf("&d", &ptr);
}
printf ("你录入的整数是:");
for (i=0; i<num; i++)
{
printf("%d", ptr);
}
putchar ('\n');
free(ptr);
return 0;
}
我运行这个代码和视频里的效果不一样哎,输入完个数之后,就不让自己录入每个整数,直接就弹出后面每个printf的内容了 好好学习才能天天向上! 小甲鱼直接把我电脑搞爆了 sanxian 发表于 2022-2-24 22:33
#include
#include
scanf("&d", &ptr);
这里scanf的应该是%d不是&d。
我改了一下就可以正常输出了 Changnie 发表于 2020-7-10 21:00
**** 作者被禁止或删除 内容自动屏蔽 ****
我的理解是ptr是一个数组
页:
[1]