/*****************************************
 *
 *  场景:人机对话
 *      人和机器轮流说一句话,问候、询问,。。。
 *      要说的话事前组织好
 *
 *  人通过嘴说话,转换成文字通过键盘传递给机器,
 *      机器经由键盘通过耳朵接收到人说话的文字,
 *      并保存到机器的大脑记忆中,然后作思考。。。
 *  机器将要说的话以文字形式通过其嘴说到屏幕上,
 *                (也可以转换成语音,通过其嘴说到microphone)
 *      人通过眼睛看到屏幕上的文字,理解其含义。。。
 *        (或通过耳朵听到声音)
 *  现阶段
 *      人到机器的信息传递通道:键盘——机器的耳朵:scanf
 *      机器到人的信息传递通道:屏幕——机器的嘴:printf
 *
 *  如何实现以下对话?
 *      小明:“你好,机器人!”
 *      计算机:“哦哦,你叫什么名字?”
 *      小明:“小明”。
 *      计算机:“你好,小明!”
 *
 *
 * ****************************************/

#include <stdio.h>
int main()
{
    char greating[20];
    char name[20];

    scanf("%s", greating);
    printf("你叫什么名字?\n");
    scanf("%s", name);
    printf("你好,%s\n", name);

    return 0;
}

Comments  

+1 # 2978768970 2021-09-26 13:01
为什么scanf语句里,有的后面必须要加&,而有的却不用加&呢
# Moderator 2021-09-26 13:23
先记住:
1,字符串输入时,即用%s时,不加&;
2,其他都加。

以后讲理由。需要一些相关知识。
+2 # yuanyuan 2021-09-16 07:54
1. printf将内容输出到stdout.
2. 超过20bytes会buffer overflow.....吗
# Moderator 2021-09-16 21:38
对,稍后会讲这个。
+7 # xliutong 2021-09-13 20:54
人机对话可以作为顶层应用场景。(可以吗?)


继续追问:
1,屏幕中为什么有人的输出?
2,如果遇到复杂的输出,会怎样?

You have no rights to post comments