哥哥们求救,帮我看一下那里错了,[face]monkey2:019.png[/face][face]monkey2:019.png[/face][face]monkey2:019.png[/face][face]monkey2:019.png[/face]初学不懂呀!
/*4.编程实现:接收两个数组的值,将这两个数组中的值依次相加保存在第三个数组中。sy7-4.c
#include
main()
{ int i;
int num1[5], num2[5], num3[5];
int *ptr1, *ptr2, *ptr3;
ptr1 = num1; ptr2 = num2; ptr3 = num3;
补充下面的程序。
}*/
#include
int main()
{
int i;
int num1[5], num2[5], num3[5];
int* ptr1, * ptr2, * ptr3;
ptr1 = num1;
ptr2 = num2;
ptr3 = num3;
printf("请输入num1得数字:\n");
for (i = 0; i < 5; i++)
scanf_s("%d",ptr1+i);
printf("%d", *(ptr1 + i));
printf("\n请输入num2得数字:\n");
for (i = 0; i < 5; i++)
scanf_s("%d",ptr2);
printf("%d", *(ptr2 + i));
printf("\n数组 num1 和数组 num2 的和为:\n");
for (i = 0; i < 5; i++);
num3 [i]= num1[i] + num2[i];
for (i = 0; i < 5; i++)
printf("%d\t",*(ptr3 +i));
}
1条回答 默认 最新
- BOXonline1396529 2024-06-30 18:18关注
您好。您的代码没有任何格式,完全混乱了。同时您也没有粘贴代码的报错,所以我没有办法帮您检查代码的问题。
我只能把您的问题交给 GPT 处理。以下是 GPT 生成的回答,您看看有没有帮助。
确实,这个问题的代码格式和排版有些混乱,导致阅读和理解变得困难。我来帮你整理一下代码,并指出其中的问题。
整理后的代码
#include <stdio.h> int main() { int i; int num1[5], num2[5], num3[5]; int* ptr1, * ptr2, * ptr3; ptr1 = num1; ptr2 = num2; ptr3 = num3; printf("请输入num1的数字:\n"); for (i = 0; i < 5; i++) { scanf_s("%d", ptr1 + i); } printf("请输入num2的数字:\n"); for (i = 0; i < 5; i++) { scanf_s("%d", ptr2 + i); } printf("\n数组 num1 和数组 num2 的和为:\n"); for (i = 0; i < 5; i++) { num3[i] = num1[i] + num2[i]; } for (i = 0; i < 5; i++) { printf("%d\t", *(ptr3 + i)); } return 0; }
发现的问题
- 数组输入输出的
printf
语句位置不正确:在输入数组元素时,printf
的位置和作用不明确,应该移到循环外。 - for 循环中的分号:
for (i = 0; i < 5; i++);
后面的分号导致循环体为空,需要去掉分号。 scanf_s
函数:scanf_s
是微软特有的安全函数,如果编译器不支持,可以用标准的scanf
替代。
修改后的代码
#include <stdio.h> int main() { int i; int num1[5], num2[5], num3[5]; int* ptr1, * ptr2, * ptr3; ptr1 = num1; ptr2 = num2; ptr3 = num3; printf("请输入num1的数字:\n"); for (i = 0; i < 5; i++) { scanf("%d", ptr1 + i); // 如果使用微软编译器,改为 scanf_s("%d", ptr1 + i); } printf("请输入num2的数字:\n"); for (i = 0; i < 5; i++) { scanf("%d", ptr2 + i); // 如果使用微软编译器,改为 scanf_s("%d", ptr2 + i); } printf("\n数组 num1 和数组 num2 的和为:\n"); for (i = 0; i < 5; i++) { num3[i] = num1[i] + num2[i]; } for (i = 0; i < 5; i++) { printf("%d\t", *(ptr3 + i)); } return 0; }
希望这样整理后能更清楚地展示代码逻辑,也更容易找到和解决问题。如果有更多问题或需要进一步帮助,请告诉我!
解决 无用评论 打赏 举报 - 数组输入输出的
悬赏问题
- ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符
- ¥15 求一份STM32F10X的I2S外设库
- ¥15 android 打包报错
- ¥15 关于stm32的问题
- ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?
- ¥50 寻找fpga的benchmark
- ¥50 如何在arduino上,实现用4×4矩阵键盘按键控制2004显示屏输出图中显示功能的代码?
- ¥15 P1口接8个发光二极管,利用定时计数器1编写程序
- ¥20 keil5编译找不到.h文件该如何解决
- ¥15 安卓EVS如何开启服务正常实现功能