c语言 为什么先prinfr后scanf

scanf不是输入吗 prinft不是输出吗
为什么先prinfr后scanf呢

img

printf里的语句是为了给提示用的,是面向用户的,你不给提示的话,用户咋知道要输入啥

因为用scanf获得输入时,一般需要给出提示输入的语句,所以一般会在scanf 前用printf

你不输出点什么,那使用者怎么知道该输入什么呢
难道还要使用者先看你的源代码,才知道该如何操作

先输出一个提示给你,让你知道要输啥内容

当你的输入、输出内容(变量或其他)无关,输入、输出没有规定谁先谁后;像你上面的一样,printf输出的是一段文字,与输入的age无关。
当输出的与输入有关时,就只能先输入,在输出。比如,scanf("%d",&age);printf("%d",age)。这样就不能把printf放在scanf前面了

了解一下printf和scanf

  1. printf是输出信息
  2. scanf是输入信息

相关性
这两个没有必然的联系,或者说没有谁先谁后的要求,你可以先输入,然后再输出刚刚输入的信息,都可以的。

就题论题
你题目关注的printf里面输出的都是提示信息,提示信息主要提醒用户需要输入符合规则的或者代表某种含义的数据,例如题中的年龄等,这些都是无关紧要的,那如果你想要打印出你刚刚接收的年龄,就应该在scanf之后printf出年龄了