C语言中让两个正的int型变量相加的程序为什么运行结果会出现负数?如题 程序如下#include "stdio.h"void main(){ int n1,n2,total; printf("This program adds two numbers.\n"); printf("1st numb
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/26 05:28:16
![C语言中让两个正的int型变量相加的程序为什么运行结果会出现负数?如题 程序如下#include "stdio.h"void main(){ int n1,n2,total; printf("This program adds two numbers.\n"); printf("1st numb](/uploads/image/z/14744080-64-0.jpg?t=C%E8%AF%AD%E8%A8%80%E4%B8%AD%E8%AE%A9%E4%B8%A4%E4%B8%AA%E6%AD%A3%E7%9A%84int%E5%9E%8B%E5%8F%98%E9%87%8F%E7%9B%B8%E5%8A%A0%E7%9A%84%E7%A8%8B%E5%BA%8F%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C%E4%BC%9A%E5%87%BA%E7%8E%B0%E8%B4%9F%E6%95%B0%3F%E5%A6%82%E9%A2%98+%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%B8%8B%23include+%26quot%3Bstdio.h%26quot%3Bvoid+main%28%29%7B++++int+n1%2Cn2%2Ctotal%3B++++printf%28%26quot%3BThis+program+adds+two+numbers.%5Cn%26quot%3B%29%3B++++printf%28%26quot%3B1st+numb)
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,也就是表示负数,所以结果为负数