首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
replace
heatmap
require
eval
config
hook
main
join
ip
merge
default
python2
format
php7
grid
runtime
netty
md5
cPlusPlus
httprequest
random
web3
lua
input
loops
frameworks
blob
jsp
split
bit
copy
testing
char
chat
match
uri
instance
uml
hash
header
iostream
foreach
case
sum
process
request
bash
subset
httpclient
stream
erlang
keyword
get
post
range
tree
install
typescript
expression
c语言
tags
bitmap
cmd
int
include
buffer
python3
email
jar
filter
schema
utf-8
controller
express
dagger
io
数组
dll
export
当前位置:
开发笔记
>
编程语言
> 正文
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
format
UNP 第9章:主机名与地址转换
本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ...
[详细]
蜡笔小新 2024-12-27 11:26:39
bit
计算机图形学实训:OpenGL入门与直线光栅化算法
本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ...
[详细]
蜡笔小新 2024-12-26 12:24:25
main
深入理解KMP算法中的next数组:北大OJ 2406题解
本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ...
[详细]
蜡笔小新 2024-12-28 11:30:01
input
编写有趣的VBScript恶作剧脚本
本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ...
[详细]
蜡笔小新 2024-12-28 09:46:23
default
使用Objective-C和dispatch库实现并发素数计算
本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ...
[详细]
蜡笔小新 2024-12-28 08:44:35
ip
网络链路质量监控:Smokeping部署与配置
本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ...
[详细]
蜡笔小新 2024-12-27 19:31:05
main
USACO 2014 Jan - Moolympics区间记录优化算法
题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ...
[详细]
蜡笔小新 2024-12-27 18:14:31
default
Dockerfile 编写与 Docker 网络配置详解
本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ...
[详细]
蜡笔小新 2024-12-27 17:31:41
main
Weight the Tree(树形dp)
题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!----- ...
[详细]
蜡笔小新 2024-12-26 15:55:56
main
长春大学软件工程:二叉排序树实验报告
本实验主要探讨了二叉排序树(BST)的基本操作,包括创建、查找和删除节点。通过具体实例和代码实现,详细介绍了如何使用递归和非递归方法进行关键字查找,并展示了删除特定节点后的树结构变化。 ...
[详细]
蜡笔小新 2024-12-26 15:32:56
input
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
bit
Splay Tree 区间操作优化
本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ...
[详细]
蜡笔小新 2024-12-26 18:47:12
tianziqizhi
这个家伙很懒,什么也没留下!
Tags | 热门标签
replace
heatmap
require
eval
config
hook
main
join
ip
merge
default
python2
format
php7
grid
runtime
netty
md5
cPlusPlus
httprequest
random
web3
lua
input
loops
frameworks
blob
jsp
split
bit
RankList | 热门文章
1
Shell编程基础:掌握管道符
2
Windows 11 鼠标设置调整指南:轻松定制你的鼠标体验
3
Android 中的显式与隐式 Intent 使用详解
4
Python 中 scipy.stats.kurtosistest() 函数详解
5
解决JSP项目中JavaScript中文乱码问题的经验分享
6
跨行ATM取款遭遇扣款争议
7
PHP Socket通信中的数据加密问题解析
8
微信小程序开发教程(二):利用AppId启动你的小程序
9
C++ 中不同类型数据转换为16进制输出的方法
10
Linux 下的 C 函数库概览(POSIX C、ANSI C、GNU C 及 ISO C)
11
为何 alert(''.split(',').length) 的结果为 1 而非 0?
12
Vue.js 安装指南及基础使用教程
13
开发笔记:异步实时搜索jquery select插件
14
2023年最新:PHP本地端口配置详解
15
树莓派实战指南:搭建Samba文件共享服务器
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有