为什么我这段程序不管a是什么值b的值都是8啊!
来源:百度知道 编辑:UC知道 时间:2024/06/20 06:12:32
#include <stdio.h>
int main(void)
{
int a;
int b=0;
printf("enter a number:");
scanf("%i",a);
while(a!=0)
{
a=a/10;
b++;
}
printf("%i\n",b);
}
int main(void)
{
int a;
int b=0;
printf("enter a number:");
scanf("%i",a);
while(a!=0)
{
a=a/10;
b++;
}
printf("%i\n",b);
}
scanf("%i",&a);
scanf接收的第二个参数必须是一个地址,用&取a的地址就可以正确赋值了
是你看错了吧
你别说你把TC里面的0看成8了。。。。。。。。
用途:
程序检查输入的数字是多少位,并将位数输出。
错误及修正:
scanf("%i",&a); // 应该加上“&”
不可能的啊!
还有一个错误
scanf("%i",a)应该是scanf("%i",&a)
输入的那句话,应该是这样的:
scanf("%i",&a);
为什么编译器不报错?为什么运行后系统不出错?谁能解释下啊