C primer 第六章循环 习题6.7

6.07 让用户输入一个单词,并倒序打印这个单词

#include <stdio.h>
#include <string.h>
int main(void)
{
   char word[20];
   size_t size;
   int index;

printf("Please enter a word:");
   scanf("%s",word);
   size=(strlen (word));
   index=size--;

for(;index>=0;index--)
      printf("%c",word[index]);

return 0;
}

注意:1)strlen()函数用于计算字符串长度,其返回值类型为size_t,实质是unsigned int,因此在本例中不可直接放入for循环比较>=0(可以比较>0),否则出现错误。解决方法为新定义int 变量 index,将strlen()的值赋给index;

2)本题中index作为字符串的下脚标,应从零开始计数,故index=strlen()-1;且一定要减到0才可跳出循环,故必须比较index>=0;

3)读取字符串用%s作为转换说明,且scanf在读取字符串时无需加 &;

PS:strlen()函数转换说明为%zd 或%u;

sizeof使用时可加括号可不加,当运算对象是类型时,例如sizeof(float),必须加上();对于特定量,写成 sizeof name或sizeof(name)均可;

strlen()在使用时务必加上();

sizeof() 和 strlen()区别:sizeof计算给数组(此处为字符串)分配的存储单元个数,strlen计算字符串中字符数(包括空格和标点符号);

时间: 2024-10-15 00:26:50

C primer 第六章循环 习题6.7的相关文章

C primer 第六章习题6.13

//编写程序包含8个元素的int类型数组,用for循环设置数组元素,用do while循环显示元素值. #include <stdio.h>int main(void){       int num[8],index,i,pow; for (index=0,i=0,pow=1;index<=7;index++){                pow*=2;                num[index]=pow;            do    {            i++;

Java基础第六章(循环结构二)

一.for循环 语法: for(表达式1;表达式2;表达式3){ //循环体}1.表达式1就是一个赋值的语句,循环结构的初始化部分,为循环变量赋初始值 例如:int i=0;2.表达式2条件语句,循环结构的循环条件,例如:i<1003.表达式3赋值语句,通常使用++或--运算符.循环结构的迭代部分,通常用来修改循环变量的值 例如:i++ 示例: package cn.ytzl.test; import java.util.Scanner; public class Test { public s

第六章 循环结构(二)

for循环结构: 初始部分:设置循环的初始状态. 循环体:重复执行代码. 迭代部分:下一次循环开始前要执行的部分,在which循环结构中它作为循环体的一部分. 循环条件:判断是否继续循环的条件. for循环结构的语法:    for (表达式1:表达式2:表达式3) {           //循环体    }    表达式1:循环结构的初始部分,为循环变量赋初值.    表达式2:循环结构的循环条件.    表达式3:循环结构的迭代部分,通常用来修改循环变量的值.    foe 关键字后面括号

第六章 循环

(1) (2) (3) (4) (5) (6)until与while形式一样,只是循环条件相反 (7)loop方法 (8)break.next.redo (9) (10)

C++ primer 第六章笔记

Chapter 6 函数 #函数基础 声明:返回类型.函数名.形参列表.分号 定义:返回类型.函数名.形参列表.函数体 调用:函数或函数指针,实参列表 #参数传递 1.形参是引用类型,它将绑定到对应的实参上.  否则,将实参的值拷贝后赋给形参; 2.C++,建议使用引用类型的形参代替指针; //传引用参数 void reset(int &i){ i = 0; } int j = 24; reset(j); cout << j << endl; //输出是0; 3.使用引用,

java基础 第六章课后习题

1.说明循环结构中break语句和continue语句的区别. 在循环结构中 break语句 是结束程序运行. continue语句是结束本句程序  不是结束程序. 2.使用for循环结构实现,从键盘上接受从周一至周五每天学习时间,并计算每日平均学习时间.输出结果. 3.鸡兔同笼问题.今有鸡兔同笼,上有35头,下有94足,问鸡兔各几只?试编写程序解决问题. 4.开发一个标题为" FlipFlop"的游戏应用程序.它从 1 计数到100 ,遇到3的倍数输出单词" Flip&qu

c语言第六章-循环结构II

for(  表达式1  ;  表达式2   ;  表达式3  ){     语句:}for 循环与 while 循环类似,属于先判断后执行执行顺序是:表达式1.表达式2.语句.表达式3-->表达式2.语句.表达式3......表达式1为初始化.表达式2为条件表达式.语句为循环体.表达式3为增量表达式1.表达式2 .表达式3都可以省略,但分号不能省略省略表达式1:应该在循环前初始化省略表达式2:即不判断循环条件,也就是认为表达式2始终为真,这时应在循环体内设法结束循环,否则将成为死循环省略表达式3

《鸟哥linux》--第六章课后习题答案

1./bin与/usr/bin目录放置的执行文件有和不同 /bin主要放置在开机时,以及进入单人维护模式还能够被使用的指令,后者是大部分软件提供的指令放置处 2./bin与/sbin目录放置的执行文件有何不同之处 /bin放置一般用户惯用指令,/sbin则是系统管理员才会使用的指令,同上参考/usr/bin,/usr/sbin 3.哪几个目录不能够与根目录放置到不同partition?并说明该目录所放置的数据为何? /etc(配置文件)./bin(一般身份可用执行文件),/dev(装置档案)./

Python核心编程 第六章课后习题

6–1. 字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串 是否是另一个大字符串的一部分? Answer:in     not in 6-2. #! /usr/bin/env python # coding: utf-8 ''' 6–2. 字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且 可以识别 Python 关键字,对后一个要求,你可以使用 keyword 模块(特别是 keyword.kelist)来帮你.