#include<limits.h>
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i=0,b[50],sum=0
int count=0
char c
printf("实现从键盘上输入任意个数的加法器\n")
printf("请输入要求和的任意个数\n")
//注意:输入的各数据之间用一个空格分隔,最后回车结束输入
do
{
scanf("%d",&b[i])//将键盘上输入的数赋值给对应的数组b[i]
count++//每次循环将使变量count的值加1,count变量即为键盘上输入数的个数
sum+=b[i]//每次循环使b[i]自加,将值赋给sum
i++//每次循环使i自加1,保证下次循环即为输入的下一个数
scanf("%c",&c)//扫描键盘上输入的字符
}while(c!='\n')//使c不等于换行符即回车键,扫描到\n即停止循环
printf("你总共输入了%d个数\n",count)
for(i=0i<counti++)
{
printf("你输入的第%d个数是:%d\n",i+1,b[i])
}
printf("\n")
printf("具体是(")
for(i=0i<count-1i++)
{
printf("%d",b[i])
printf("+")
}
printf("%d",b[count-1])
printf(")")
printf("=")
printf("%d",sum)
printf("\n")
system("PAUSE")
return EXIT_SUCCESS
}
这种情况叫做 runtime error (运行时错误)。
在 Windows 7 上这样提示:
在 Windows XP 上这样提示:
runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。
比如说:
①除以零
②数组越界:int a[3] a[10000000]=10
③指针越界:int * p p=(int *)malloc(5 * sizeof(int)) *(p+1000000)=10
④使用已经释放的空间:int * p p=(int *)malloc(5 * sizeof(int))free(p) *p=10
⑤数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000]
这种情况叫做 runtime error (运行时错误)。
在 Windows 7 上这样提示:
在 Windows XP 上这样提示:
runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。
比如说:
①除以零
②数组越界:int a[3] a[10000000]=10
③指针越界:int * p p=(int *)malloc(5 * sizeof(int)) *(p+1000000)=10
④使用已经释放的空间:int * p p=(int *)malloc(5 * sizeof(int))free(p) *p=10
⑤数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)