这个scanf写法错了吗
#include<stdio.h> int main(){ int a; int b; int c; int d; scanf("%d ", a); if (a <= 100) { b = a + 100; c = b + 123; d = b + c; } else { b = a + 500; c = b + 400; d = (b + c + a) * 10; } printf("a=%d b=%d c=%d d=%d ", a, b, c, d); return 0;}
程序语法上没有问题,可以编译运行,但逻辑不对,程序运行会崩溃
scanf输入时,对int变量,必须用地址(指针),你这么写,是初学者最容易犯的错之一
另外,scanf一般不用 的,否则,输入时要多输入一个换行的
正确的要改为
scanf("%d", &a);
程序测试结果
热门标签: