首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
dll
search
case
node.js
request
get
function
config
text
tree
const
tags
bash
install
cpython
typescript
match
random
express
httpclient
char
main
hashset
uml
shell
command
future
php7
heap
grid
merge
hashcode
php8
web
actionscrip
bit
email
blob
nodejs
cSharp
audio
plugins
netty
header
buffer
md5
utf-8
javascript
metadata
fetch
export
list
dockerfile
callback
vbscript
datetime
schema
eval
httprequest
lua
select
settings
require
range
ip
golang
java
jar
less
triggers
include
object
join
php5
import
integer
cmd
数组
window
当前位置:
开发笔记
>
编程语言
> 正文
printf的前后问题
作者:tianziqizhi | 来源:互联网 | 2023-10-16 13:33
我举个例子,C代码如下:#include<stdio.h>main(){charx;printf(本程序功能:任意输入一个字符,如果是字母字符,将其ASCII
我举个例子,C代码如下:
#include
main()
{
char x;
printf("本程序功能:任意输入一个字符,如果是字母字符,将其ASCII码值加5,使其在字母字符“a-z”之间变换并输出。例如字母“a”变成“f”,字母“z”变成“e”;");
printf("如果是数字字符,则将其ASCII码值减2,使其在数值“0-9”之间变换并输出。例如字符“9”变成字符“7”,字符“1”变成字符“9”。\n\n\n");
printf("请任意输入一个数字或字母字符:");
scanf("%c",&x);
if(x>='a'&&x<='z')
{
if(x>'u')
{
x=x-21;
printf("%c\n",x);
}
else
printf("%c\n",x+5);
}
else
if(x>='0'&&x<='9')
{
if(x<'2')
{
x=x+8;
printf("%c\n",x);
}
else
printf("%c\n",x-2);
}
}
你看红色部分两条说明这个程序功能的printf语句,像上面那样没错,可以运行。但是如果我把那两条printf语句放到char x;语句之前,也就是放在程序的一开始,那么这个程序就不对了,会报错,而且错误还不少,报的错都是有关于x的。
我想问的是问什么不能把这个printf语句放在最前面,而非要放在声明x之后???
10 个解决方案
#1
再补充一下,我用的是vc++2008速成版编写的。
#2
难道你的C标准还是很老的,只能接受把 变量定义在程序开头处。
#3
编译器的问题。
变量先要进行声明。
#4
确实是编译器的问题
#5
先定义变量了。
#6
我用的是vc++2008速成版,难道它里面的C编译器不行。
我在改文件属性时,改成编译为C代码,后面还有个括号标注了TC,难道他用的是TC编译器?
#7
C要求变量申明应该在{}中的所有执行语句的前面
C++可以随用随定义
#8
呵呵,微软的编译器对于*.C文件始终不支持随处定义变量的特性,必须在函数体最上面定义。
我倒觉得这是个比较好的编程习惯,这个函数会用到哪些变量一目了然。
不足就是,就算只想在循环中使用变量i,也不能用for(int i=0; i<10; i++){}
#9
引用 2 楼 wesleyluo 的回复:
难道你的C标准还是很老的,只能接受把 变量定义在程序开头处。
难道现在的C标准已经改了?
#10
引用 9 楼 nbda1121440 的回复:
引用 2 楼 wesleyluo 的回复:
难道你的C标准还是很老的,只能接受把 变量定义在程序开头处。
难道现在的C标准已经改了?
看看C99标准。
int
include
io
main
char
ascii
编译
文件
编程
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
main
文件描述符、文件句柄与打开文件之间的关联解析
本文详细探讨了文件描述符、文件句柄和打开文件之间的关系,通过具体示例解释了它们在操作系统中的作用及其相互影响。 ...
[详细]
蜡笔小新 2024-12-26 14:00:46
main
从 .NET 转 Java 的自学之路:IO 流基础篇
本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ...
[详细]
蜡笔小新 2024-12-26 17:37:25
main
计算机图形学实训:OpenGL入门与直线光栅化算法
本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ...
[详细]
蜡笔小新 2024-12-26 12:24:25
main
Objective-C 编程中的关键语法点
本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ...
[详细]
蜡笔小新 2024-12-26 19:42:38
command
macOS系统及其关键功能解析
本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ...
[详细]
蜡笔小新 2024-12-26 18:05:04
char
2023年京东Android面试真题解析与经验分享
本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ...
[详细]
蜡笔小新 2024-12-26 17:45:48
main
Weight the Tree(树形dp)
题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!----- ...
[详细]
蜡笔小新 2024-12-26 15:55:56
main
C++ 中的数组与动态数组初始化
本文探讨了 C++ 中普通数组和标准库类型 vector 的初始化方法。普通数组具有固定长度,而 vector 是一种可扩展的容器,允许动态调整大小。文章详细介绍了不同初始化方式及其应用场景,并提供了代码示例以加深理解。 ...
[详细]
蜡笔小新 2024-12-26 15:38:03
main
长春大学软件工程:二叉排序树实验报告
本实验主要探讨了二叉排序树(BST)的基本操作,包括创建、查找和删除节点。通过具体实例和代码实现,详细介绍了如何使用递归和非递归方法进行关键字查找,并展示了删除特定节点后的树结构变化。 ...
[详细]
蜡笔小新 2024-12-26 15:32:56
main
C语言链表动态创建:头插法与尾插法详解
本文详细介绍了C语言中链表的两种动态创建方法——头插法和尾插法,包括具体的实现代码和运行示例。通过这些内容,读者可以更好地理解和掌握链表的基本操作。 ...
[详细]
蜡笔小新 2024-12-26 13:59:07
main
VxWorks中的双向链表与环形缓冲应用
本文详细探讨了VxWorks操作系统中双向链表和环形缓冲区的实现原理及使用方法,通过具体示例代码加深理解。 ...
[详细]
蜡笔小新 2024-12-26 13:26:16
main
解决MyBatis Mapper绑定异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
本文详细介绍了如何解决MyBatis中常见的BindingException错误,提供了多种排查和修复方法,确保Mapper接口与XML文件的正确配置。 ...
[详细]
蜡笔小新 2024-12-25 19:42:47
main
Codeforces Round #566 (Div. 2) A~F个人题解
Dashboard-CodeforcesRound#566(Div.2)-CodeforcesA.FillingShapes题意:给你一个的表格,你 ...
[详细]
蜡笔小新 2024-12-25 18:41:21
main
GDI基础介绍之几何绘图
使用GDI的一些AIP函数我们可以轻易的绘制出简 ...
[详细]
蜡笔小新 2024-12-25 18:23:37
main
深入理解线程局部存储
在多线程编程环境中,线程之间共享全局变量可能导致数据竞争和不一致性。为了解决这一问题,Linux提供了线程局部存储(TLS),使每个线程可以拥有独立的变量副本,确保线程间的数据隔离与安全。 ...
[详细]
蜡笔小新 2024-12-25 17:04:36
tianziqizhi
这个家伙很懒,什么也没留下!
Tags | 热门标签
dll
search
case
node.js
request
get
function
config
text
tree
const
tags
bash
install
cpython
typescript
match
random
express
httpclient
char
main
hashset
uml
shell
command
future
php7
heap
grid
RankList | 热门文章
1
android自定义Camera拍照并查看图片
2
Android文件下载功能实现代码
3
Android调用前后摄像头同时工作实例代码
4
Android中你可能不知道的Fragment妙用
5
Android EditText搜索框实现图标居中
6
Android RecyclerView实现水平、垂直方向分割线
7
Android开发之拖动条和评分组件用法分析
8
android语音即时通讯之录音、播放功能实现代码
9
Android开发之自定义刮刮卡实现代码
10
Android 编译出错版本匹配问题解决办法
11
Android单例模式的几种方法总结
12
Android ListView之EfficientAdapte的使用详解
13
TabLayout使用方法详解
14
Android用户输入自动提示控件AutoCompleteTextView使用方法
15
Android自定义控件实现下拉刷新效果
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有