#include "stdio.h"
int main (void)
{
printf("%c\n",getchar());
return 0;
}
这个C程序编译显示没有错误,为什么不能运行?
答案:2 悬赏:60 手机版
解决时间 2021-02-19 15:00
- 提问者网友:酱爆肉
- 2021-02-19 06:10
最佳答案
- 五星知识达人网友:猎心人
- 2021-02-19 07:10
nt a,b; scanf("%d%d",&a,&b);//参数必须是指针(地址)才可以。 scanf()函数要求参数必须是指针类型,即将地址传输到其内,才可以让a , b变量中获取到数据。 如果你学过指针,你就会理解了。 C语言中函数的调用中,参数传递,只能传递数值。如果只是将数值传递过去(接收者是形参),在子函数中变化,形参的变化,不会影响到实参数据的内容。 C中,每定义一个变量,系统都会在内存中给其分配一个空间用来存储数据。而这个空间的编号就是这个变量的地址。当我们将这个地址传递到子函数中,子函数在操作数据时,就会改变这个地址中的数据,这样,实参的数据是会发生变化。 而你程序中,传递的是a b本身的值(可能是0,可能是1,可能是任意的数),scanf()将这两个值当作地址去操作,因此会产生系统错误,导致程序运行停止。
全部回答
- 1楼网友:夜余生
- 2021-02-19 08:02
请看你的main函数,功能只是打印一串信息,并没用定义任何类,自然没用到任何类函数。 void main() { class stu test_xiaoming; //也可以取得输入数据后,直接利用: //clase stu test_xiaoming("xiaoming", 12, "beijing"); ... }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯