要求是使用scanf输入三个整型值,再依次输出输入的整型值。
刚开始思路就是简单定义三个整型变量,用scanf简单将输入值暂存输出即可,代码和运行情况如下
这里,敲完代码显示scanf语句中的三个变量在这里未初始化,尝试调试运行,情况如下
经查阅,得知scanf函数,与printf不同的是它要存入输入值的地址,而不是变量的值,&score1,即为取变量score1在内存中的地址,如果不加&,此时score1只是一个未经初始化的变量,其值是个乱码,因此此时程序运行报出段错误,且乱码也不是内存中的地址,所以此时scanf函数的输入参数错误,无法正常运行。
这里改为取变量地址后,即可实现目标要求,如下
PS:其实不用&这个取地址符号,而此时的score1定义一个地址值,这种scanf语句也能正常输入,但区别在,此时输入的值存入score1值所在地址中,而用&score1,则将输入的值存入变量score1的地址。