我是C的新手。我只是想制作一个程序,它从用户那里获取两个整数输入并添加它,但条件是我必须只使用一个变量。我想出了这段代码:
#include <stdio.h>
int main()
{
int *a;
scanf("%d%d",a,(a+1));
printf("\nSum=%d",*a+*(a+1));
return 0;
}
scanf()
函数将有效地址作为参数,我传递a
中的值(尚未初始化)。那么,这段代码在Turbo C ++中是如何工作的?
答案 0 :(得分:0)
您正在尝试访问不在程序范围内的区域。幸运的是TCC给了它,但我相信如果你继续进行实验,结果将是不确定的。
您可以执行以下操作来解决使用1变量添加的问题。
int main()
{
int a;
scanf("%d",&a); //scan the first number
getchar();
a += getchar()-'0'; // get the second number (restricted to 0-9)
printf("%d",a);
return 0;
}