C语言中让两个正的int型变量相加的程序为什么运行结果会出现负数?如题 程序如下#include "stdio.h"void main(){ int n1,n2,total; printf("This program adds two numbers.\n"); printf("1st numb
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 21:30:55
C语言中让两个正的int型变量相加的程序为什么运行结果会出现负数?如题 程序如下#include "stdio.h"void main(){ int n1,n2,total; printf("This program adds two numbers.\n"); printf("1st numb
C语言中让两个正的int型变量相加的程序为什么运行结果会出现负数?
如题 程序如下
#include "stdio.h"
void main()
{
int n1,n2,total;
printf("This program adds two numbers.\n");
printf("1st number?\n");
printf("n1= ");
scanf("%d",&n1);
printf("2nd number?\n");
printf("n2= ");
scanf("%d",&n2);
total=n1+n2;
printf("The total is %d\n",total);
}
一般的数据都没什么问题 要是输入的数过大的话就会出现奇怪的结果 比如负数什么的 以下是截图
C语言中让两个正的int型变量相加的程序为什么运行结果会出现负数?如题 程序如下#include "stdio.h"void main(){ int n1,n2,total; printf("This program adds two numbers.\n"); printf("1st numb
因为int是有最大限制的,当相加的结果超出这个限制之后,(就是所谓的溢出),最高位可能会变为1,也就是表示负数,所以结果为负数