码迷,mamicode.com
首页 > 其他好文 > 详细

程序清单4.2_praise1.c程序_《C Primer Plus》P62

时间:2018-06-09 23:12:20      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:C Primer Plus

// praise1.cpp : 定义控制台应用程序的入口点。 // /* praise1.c -- 使用不同类别的字符串 */ /*     时间:2018年06月09日 22:21:56     代码:程序清单4.2_praise1.c程序_《C Primer Plus》P62     目的:scanf() 只读取了空格之前的英文单词,而非整个语句 */ #include "stdafx.h" #define PRAISE "What a super marvelous name!" int _tmain(int argc, _TCHAR* argv[]) {     char name[40];          printf("What's your name?\n");     scanf("%s", name);     printf("Hello, %s. %s\n", name, PRAISE);     getchar();    // 一般情况下有一个 getchar(),就可以看到输出结果了     getchar();    // 有 scanf() 语句时 需加一个 getchar();          getchar();    // 这里加了八句 getchar();才可以看到最终的输出结果     getchar();    // 是因为 在输入语句时输入了: Hilary Bubbles     getchar();    // Hilary 之后连空格在内共有 8 个 字符     getchar();    // 至于"所以然" 我并未明白,只是知道要这样才解决显示结果     getchar();    // 我想应该还有更好的解决办法,不然后面一百字符时 咋办     getchar();    // 待查中......     getchar();     getchar();     return 0; } /*     在VS2010中运行结果: -------------------------------------------- What's your name? Hilary Bubbles Hello, Hilary. What a super marvelous name! --------------------------------------------     google 翻译如下: 你叫什么名字? 希拉里 泡泡 你好,希拉里。 多么美妙的名字! praise(称赞)/marvelous(不可思议的) --------------------------------------------     总结:         1>.scanf(); 输入语句后,电脑只读取了第一个单词,     空格之后的所有字符均没被输出到屏幕上;         2>.但要最终显示结果,要加入相应个数的 getchar(),     连空格在内之后的有几个字符就要加几个 getchar();         3>.为什么要加那么多的 getchar();不明其理,相信     一定要更好解决办法,待查中...... -------------------------------------------- */


程序清单4.2_praise1.c程序_《C Primer Plus》P62

标签:C Primer Plus

原文地址:http://blog.51cto.com/13555061/2126828

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!