正在加载图片...
sizeof(int)=2,且设ch2占有chl的右邻空间,于是无论你输入什 么,都将覆盖掉ch2的空间,ch2的值被破坏了。 3.8在调用 scanf或 printf函数时,如果格式串中的格式符与 对应的输入或输出项参数类型不匹配,编译器会指出其错误吗?后果 如何? 答:编译器只检测参数的个数,至于参数的类型总假设是正确而 不作检测,因此其后果是不可能预测的。 3.9当一个特定的值用格式符%3f输出时,其结果为1.815,但 若改用格式符%.2f输出时,结果为1.81。为什么? 答:%.3f格式输出的1.815中缀尾的5可能是四舍五入后得到的 它原来应为4,这样当用‰2f格式时,缀尾的4被舍弃 3.10a是一个整型变量,要实施正确输入,下面两个输入语句 有什么不同?为什么? scanf("%d", &a) scanf( %d", &a) 答:没有什么不同。因为输入数值数据时, scanf函数将自动忽 略输入字符流中的前导空白类字符,所以在输入时,输入空格与否, 其效果一样。见思考题3.3。 3.11用一个 scanf o调用实现:输入一个字符串,字符串由字 母字符和空格字符组成,若遇其它任何字符,结束输入 答:下面是该问题的一种解决方案: scanf("%[a-zA-Z]",ptr);/*ptr的类型是char**/sizeof(int)==2,且设 ch2 占有 ch1 的右邻空间,于是无论你输入什 么,都将覆盖掉 ch2 的空间,ch2 的值被破坏了。 3.8 在调用 scanf 或 printf 函数时,如果格式串中的格式符与 对应的输入或输出项参数类型不匹配,编译器会指出其错误吗?后果 如何? 答:编译器只检测参数的个数,至于参数的类型总假设是正确而 不作检测,因此其后果是不可能预测的。 3.9 当一个特定的值用格式符%.3f 输出时,其结果为 1.815,但 若改用格式符%.2f 输出时,结果为 1.81。为什么? 答:%.3f 格式输出的1.815 中缀尾的5 可能是四舍五入后得到的, 它原来应为 4,这样当用%.2f 格式时,缀尾的 4 被舍弃。 3.10 a 是一个整型变量,要实施正确输入,下面两个输入语句 有什么不同?为什么? scanf(" %d",&a); scanf("%d",&a); 答:没有什么不同。因为输入数值数据时,scanf 函数将自动忽 略输入字符流中的前导空白类字符,所以在输入时,输入空格与否, 其效果一样。见思考题 3.3。 3.11 用一个 scanf()调用实现:输入一个字符串,字符串由字 母字符和空格字符组成,若遇其它任何字符,结束输入。 答:下面是该问题的一种解决方案: scanf("%[a-zA-Z ]", ptr); /* ptr 的类型是 char* */
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有