题目: 定义一个函数,用于将一个字符串反序存放。例如,原串为 ABCDEF,则处理后的字符串为:FEDCBA

知识点:

字符串的定义问题char *s;上面只是定义一个字符串指针,并未为该指针分配存储空间。char s[100]; //定义一个存储字符串的数组,记得字符串与字符数组的区别。分配空间后,数组名s为字符串地址,s为指向数组的地址常量,不能做变量运算

字符串的读取问题

区分scanf函数和gets函数读取字符串的区别:如何决定字符串何时结束;

scanf()更基于获取单词,gets()更基于获取字符串;

scanf函数以遇到的第一个非空白字符开始,使用%s格式,字符串读到(但不包括)下一个空白字符(比如空格、制表符或换行符);如果指定宽度,如使用%10s,会读到10个字符或直到遇到第一空白字符,由二者中最先满足的那个终止输入。

代码实现:

/**< 定义一个函数,用于将一个字符串反序存放。例如,原串为 ABCDEF,则处理后的字符串为:FEDCBA */

#include

#include

#include //包含字符串相关函数的头文件

#define MAX_SIZE 100 //宏定义一个最大尺寸,数组的大小

void inverted(char *s); //调用函数说明

int main()

{

char s[MAX_SIZE]; //定义一个字符数组

printf("输入字符串:\n");

//注意scanf 和 gets的区别

//scanf("%s",s);

gets(s);

inverted(s); //调用函数

printf("%s", s); //输出字符串用%s格式符

return 0;

}

void inverted(char *s) //函数形参为指针传递

{

int size = 0;

int num = 0;

int i;

char plate;

size = strlen(s); //strlen函数是字符串中的字符个数,不包括字符串后面的\0结束符

num = size/2;

for(i=0; i

{

int inver = size-i-1;

plate = s[i];

s[i] = s[inver];

s[inver] = plate;

}

}

运行结果:

如果使用scanf()函数,会忽略开始输入时候的空白字符,并读取到下一个空白字符停止,如下:

正确的应该是使用gets()函数,如下:

编程函数c语言,C语言编程(练习1:函数 )相关推荐

  1. 在C语言中以编程的方式获取函数名

    在C语言中以编程的方式获取函数名 仅仅为了获取函数名,就在函数体中嵌入硬编码的字符串,这种方法单调乏味还易导致错误,不如看一下怎样使用新的C99特性,在程序运行时获取函数名吧. 对象反射库.调试工具及 ...

  2. C语言编程>第二十二周 ⑥ 请补充fun函数,该函数的功能是:把字符下标能被2和3同时整除的字符从字符串s中删除,把剩余的字符重新保存在字符串s中。

    例题:请补充fun函数,该函数的功能是:把字符下标能被2和3同时整除的字符从字符串s中删除,把剩余的字符重新保存在字符串s中.字符串s从键盘输入,其长度作为参数传入fun函数. 例如,输入 " ...

  3. C语言编程>第二十六周 ⑥ 请补充fun函数,该函数的功能是:按 “0”到 “9”统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。注意:不能使用字符串库函数。

    例题:请补充fun函数,该函数的功能是:按 "0"到 "9"统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中.注意:不能使用字符串库函数. ...

  4. 对main函数的理解c语言,C语言编程漫谈——main函数

    写在前面 促使我写这篇文章是因为我这几天找了几个一样是大三的同学,与我相同专业相同方向(物联网)的人,除了@小胡同的诗,基本没有什么其他人会现在看起来很简单的编程题目了.问了一下其他同学,他们大部分都 ...

  5. 如何利用函数指针在c语言中实现面向对象编程

    面向过程编程 c语言,是一种函数流语言,看他的代码,大部分是call1(data), call2(data)类似的代码.所以他的主体思想是函数,把数据丢进去给函数执行. 面向对象编程 java语言,和 ...

  6. c语言 函数要素,嵌入式C语言教程以及C编程要素

    原标题:嵌入式C语言教程以及C编程要素 计算机嵌入式行业逐渐成为就业者的新宠儿,而作为一个嵌入式C编程技术人员,熟练使用C语言是非常重要的,下面尚观教育小编就来跟大家聊一聊嵌入式C语言教程以及C编程要 ...

  7. C语言基础入门48篇_20_函数入门:为什么使用函数?(函数使得程序模块化 使用函数封装细节,使得程序员只要面向函数的接口编程(参数与返回值),而不用关心函数内部细节)

    菜鸟和高手都会基本,那菜鸟为什么是菜鸟,高手为什么是高手呢?很大的区别在于,高手写的程序[结构性]更好,更容易维护.而函数就是C语言结构化的一种手段. 函数可以将大的计算任务划分为多个较小的任务(解耦 ...

  8. c语言编程怎么自学网,c语言函数

    知识点:<c语言函数> 收集:胥僖涎 编辑:栀子花女孩 本知识点包括:1.C语言中有没有求绝对值的函数啊?谢谢! 2.关于C语言函数的声明,怎么理解能简单点 3.C语言中平方根的函数是多少 ...

  9. 51单片机如何用c语言位定义,嵌入式编程(一):51单片机如何将函数 定义到指定程序地址...

    在单片机编程使用中,会涉及到将某些函数定义到指定的code区.此时需要对工程文件进行配置修改才可完成.本期针对单片机平台做出说明介绍 1.测试目标 将函数testaddr定义到0x6000地址 2.测 ...

  10. 【C语言函数递归】编程将字符串s倒序输出,要求利用函数递归实现。

    编程将字符串s倒序输出,要求利用函数递归实现. **输入格式要求:"%s" 提示信息:"input your string:\n" **输出格式要求:" ...

最新文章

  1. 一脸懵逼学习Hive的元数据库Mysql方式安装配置
  2. 增强QQ空间的统计功能
  3. 15.用PHP写出显示客户端IP与服务器IP的代码,如何防止用户使用代理的情况?[添加更多详情]...
  4. 基础知识:数字、字符串、列表 的类型及内置方法
  5. 云原生:重新定义信息产业生态体系
  6. 【vulnhub】靶机- [DC系列]DC9(附靶机))
  7. hprofile教程
  8. 查看oracle监听服务状态,(总结)Oracle监听服务lsnrctl参数及查询状态详解
  9. 开源代码ViewPageIndicator的使用
  10. oracle取差值集合
  11. 5gh掌上云计算认证不通过_阿里云ACP认证考试攻略、考试心得、费用及常见问题...
  12. 是什么让程序员对工作失去了激情?
  13. Macbook怎么关闭磁盘“未正确推出”提示
  14. Codeforces 446C. DZY Loves Fibonacci Numbers【斐波那契+线段树】
  15. 你们知道内卷化最严重的地方是哪里吗?
  16. 使用git stash命令保存和恢复进度
  17. 使用rem进行页面适配
  18. C#之double内存
  19. RichContentLabel使用注意
  20. 泛微OA “低代码“开发-流程表单

热门文章

  1. pandas标记一列为时间序列
  2. 在pycharm中使用docker安装的python3作为运行环境
  3. 金蝶记账王登录显示连接金蝶云服务器异常,金蝶KIS记账王系统初始化常见问题...
  4. 和doc的区别怎么转换手机_如何把doc文件转换成PDF格式?高手告诉你应该这么做...
  5. 怎么将ip地址改成域名访问_什么是域名解析?怎么把域名解析成IP地址?
  6. php自动裁剪黑边,视频画面裁剪怎么将视频四周的黑边去除?
  7. java table 设置长度_Java字节码lookupswitch和tableswitch总指令长度
  8. ASP.NET Core2.2 和2.1 版本中对cookie的设置和存储
  9. VS2010+OpenMP的简单使用
  10. 批处理打开和关闭oracle11g 服务