这是我的代码,它还远没有完成,但在我解决这个问题之前,我不能再继续前进了。没有显示错误,但是我有警告- "format '%i‘需要类型为'int’的参数,但参数2具有类型'int*‘“
#include<stdio.h>
#include<math.h>
main()
{
int m_1;
int m_2;
printf("This program will take two particles, and present a collision between them.\n");
printf("Values for base characteristics of these particles will be given by you.\n");
printf("Enter 2 values for mass, separated by a comma.\n");
scanf("\n%i,%i",&m_1,&m_2);
int u_1;
int u_2;
int momentum1;
int momentum2;
int momentumtotal;
momentum1 = m_1 * u_1;
momentum2 = m_2 * u_2;
momentumtotal = momentum1+momentum2;
printf("Initial momentum - P1 = %i\n",&momentum1);
printf("Initial momentum - P2 = %i\n", &momentum2);
}发布于 2020-05-10 23:50:40
你犯了几个错误,导致你的程序以一种意想不到的方式运行(重要的是用星号*标记的):
不必要的#include <math.h>.
momentum1 = m_1 * u_1;占位符没有被初始化,所以你怎么能期望multiplying.
%i占位符来获取和设置 u_1,您可以使用浮点数据类型来定义更高的精度,以便在从未使用过的scanf()和printf().
momentumtotal中使用%f。https://stackoverflow.com/questions/61713607
复制相似问题