• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > C指针对于字符有何具体的要求呢

C指针对于字符有何具体的要求呢

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了指针有何优势,引用和指针有何区别,字符指针,指针指向字符数组,字符指针初始化等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:C指针对于字符有何具体的要求呢
描述:

我想通过预处理器和指针来解决关于字符大小写转换的问题,但好像对预处理的参数、指针的指向字符琢磨不透,这块好难理解,该怎么解决呢?

#include<stdio.h> 
#define IS_LOWER_CASE(x) (((X) >= 'a') && ((x) <= 'z') )
#define TO_UPPER(x) (IS_LOWER_CASE(x) ? (x)-'a' +'A' : (x) )
//预处理器对于未指定的变量怎么作说明,比如上面的 x,提示:x undeclared.
//宏定义出错

int main(void)
{
    char words;
    char *string ;
    string = &words;

    printf("enter the words :\n");
    scanf("%s\n", words);
//错误提示:format '%s' expects argument of type 'char *', but argument 2 has type 'int'
    *string = TO_UPPER(*string);
    ++string;

    printf("%s\n", words);
    return 0;
}

解决方案1:

scanf( "  % s ",   char *);  参数要是一个char *

words 是一个char 类型

解决方案2:

  1. 先看看编译器的抱怨吧 解决了再看有啥问题

  2. 看warning,发现了有意思的整型提升。明明是个char,它却提示你有个int。楼主有兴趣可以G之。

解决方案3:

现成的fgetc()放着不用,非得用什么%s…
你这种scanf的用法会导致Segment Fault,因为scanf会试图往word之后并未声明的内存空间中写入'\0'。

解决方案4:

首先你的第一个宏定义,一个大写x一个小写,其次,scanf的第二个参数应该是&word

解决方案5:

(X) >= 'a') 的X用了大写


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C指针对于字符有何具体的要求呢
  • 指针和引用有何区别

相关文章

  • 2017-06-07 mac下androidstudio创建的app想运行在真机上,但是报错,如何解决?
  • 2017-06-07 c++office开发,外接程序,windows钩子
  • 2017-06-07 Flasklogin'function'objecthasnoattribute'is_active'
  • 2017-06-07 如何使用Nodejs+Express实现浏览器与一个REST服务器的请求转发功能?
  • 2017-06-07 (python)在一个try语句中不能同时使用except和finally子句?
  • 2017-06-07 laravellaravel的passport认证
  • 2017-06-07 Pythoninstall不走Pip镜像问题
  • 2017-06-07 (python)记录一个坑顺便问一下大家。邮箱发送554错误
  • 2017-06-07 求助:使用Octopress与github搭建博客时,关联githubrepository出错
  • 2017-06-07 关于感情问题关于混合栈操作的问题?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 西安教育网访问七牛资源失败
    • go上传文件到mongodb中
    • carapy爬虫:Cannotencodeobject是怎么回事,详见内容!
    • (python)如何在Flask中创建Celery实例?
    • 进程保护怎样实现?
    • Mac编译安装PHP7报错,报错信息如下:
    • Python写爬虫,得到了图片链接,怎样写入文件?
    • Python如何批量读取CSV文件并写入TXT?
    • 如何将Python的正则式转换成Golang正则式?
    • FileUploaded返回的info中hash有值key没有值是什么原因

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有