指针变量如何工作,而不是在TurboC ++的代码中初始化它?

时间:2017-04-08 16:55:41

标签: c pointers turbo-c

我是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 ++中是如何工作的?

1 个答案:

答案 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;
}