printf()

printf() 函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

printf() 函数的调用格式为:

printf("< 格式化字符串 >", < 参量表 >);

其中格式化字符串包括两部分内容:一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以 "%" 开始, 后跟一个或几个规定字符, 用来确定输出内容格式。

参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用 "," 分开, 且顺序一一对应, 否则将会出现意想不到的错误。

格式化规定符

格式化规定符 作用
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法

说明:

  1. 可以在 "%" 和字母之间插进数字表示最大场宽。

    例如: %3d 表示输出 3 位整型数, 不够 3 位右对齐。

    %9.2f 表示输出场宽为 9 的浮点数, 其中小数位为 2, 整数位为 6,

    小数点占一位, 不够 9 位右对齐。

    %8s 表示输出 8 个字符的字符串, 不够 8 个字符右对齐。

    如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。

    但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;

    若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。

    另外, 若想在输出值前加一些 0, 就应在场宽项前加个 0。

    例如: %04d 表示在输出一个小于 4 位的数值时, 将在前面补 0 使其总宽度

    为 4 位。

    如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度,

    小数点前的数字代表最小宽度。

    例如: %6.9s 表示显示一个长度不小于 6 且不大于 9 的字符串。若大于 9, 则

    第 9 个字符以后的内容将被删除。

  2. 可以在 "%" 和字母之间加小写字母 l, 表示输出的是长型数。

    例如: %ld 表示输出 long 整数

    %lf 表示输出 double 浮点数

  3. 可以控制输出左对齐或右对齐, 即在 "%" 和字母之间加入一个 "-" 号可

    说明输出为左对齐, 否则为右对齐。

    例如: %-7d 表示输出 7 位整数左对齐

    %-10s 表示输出 10 个字符左对齐

特殊规定字符

特殊规定字符 作用
\n 换行
\f 清屏并换页
\r 回车
\t Tab 符
\xhh 表示一个 ASCII 码用 16 进表示, 其中 hh 是 1 到 2 个 16 进制数

mian 函数获取参数

ANSI-C(C89/C99)的话 main() 函数有 2 种主要形式:

  1. int main(void)
  2. int main(int argc, char *argv[]),也可写成 int main(int argc, char **argv)

    argv[argc]放空指针(NULL 指针),argcargv 可以用别名。
  • 另外,还有一种受系统限制的形式:

    int main(int argc, char _argv[], char _envp[])

    前两个参数同 2,第三个参数 _envp[] 放环境变量(这个形式很少用)。

    ANSI-C 推荐的带参数的 main 函数只有上面 (2) 这一种。

C 和 C++ 中 main 函数常见的几种形式:

  1. main()
  2. int main()
  3. int main(void)
  4. int main(int, char**)
  5. int main(int, char*[])
  6. int main(int argc, char **argv)
  7. int main(int argc, char _argv[])
  8. int main(int argc, char *argv[], char_envp[])
  9. void main(void)
  • (1) 是 (3) 的简写。不推荐使用。
  • (2) 是 (3) 的简写。在 C++ 中是正确的形式。
  • (3) 在 C 和 C++ 中都是正确的形式。推荐使用。(还有缺省 int 的 main(void) 形式)。
  • (4) 和 (5) 是不用参数时的一种写法。编译器级别高时会警告。不推荐使用。
  • (6) 是 (7) 的另外写法。两种都可以,凭个人爱好。
  • (7) 是带参数的正确的形式。推荐使用。
  • (8) 是一种很少用的写法,且受系统限制。
  • (9) 一般不认为是正确的写法,但是在嵌入式系统中有使用(包括 void main() 形式)。

编译错误 syntax error : missing ';' before 'type'

将变量声明放在函数一开始,eg:

#include <stdio.h>
int main(int argc, char** argv)
{
//这样会编译错误
for (int i = 0; i < argc; ++i)
{
printf("argv[%d] = %s\n", i, argv[i]);
} //这样才不会编译错误
/**
int i;
for (i = 0; i < argc; ++i)
{
printf("argv[%d] = %s\n", i, argv[i]);
}
*/ getchar();
return 0;
}

NGINX-二级域名的更多相关文章

  1. nginx二级域名配置

    CentOs下nginx二级域名配置 域名配置文件 命名规则:XXX.域名信息.conf 配置文件路径:etc/nginx/conf.d/xxxx.conf 配置文件内容:server { liste ...

  2. nginx二级域名配置自动跳转到一级域名

    nginx二级域名配置自动跳转到一级域名 rewrite配置内容: if ($http_host !~ "^www.aaa.com$") { rewrite ^(.*) http: ...

  3. nginx二级域名反向代理

    nginx二级域名反向代理 添加两个开发测试的域名 test.xxx.com :8088 testmobile.xxx.com: 8089 内网地址:127.0.0.1 外网地址:127.0.0.1 ...

  4. Nginx二级域名及多Server反向代理配置

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 注:nginx反向代理同一ip多个域名,给head ...

  5. nginx二级域名配置[CentOS]

    目录 背景 域名配置 服务器配置 Nginx配置 页面访问生效 背景 只有一台云服务器,部署了自己写的后端管理系统,又需要部署下自己的个人博客平台,但是只有一个域名,想要合理的利用下二级域名. 域名配 ...

  6. nginx二级域名指向不同文件项目配置

    需要使用泛域名解析, 并且加上空的判断,以保证没有二级域名的也可以访问 核心配置 server_name ~^(?<subdomain>.+)\.caipudq\.cn$;if ( $su ...

  7. centos 安装php-fpm , nginx二级域名配置 ,但为什么必须要 域名提供商 哪里解析新的二级域名一下 才能用呢?

    yum -y install php-fpm php-mysql(当然还有其它扩展) /etc/init.d/php-fpm restart (重启php-fpm) /etc/php.ini (php ...

  8. nginx二级域名配置到文件夹

    user root; worker_processes ; events { worker_connections ; } http { include mime.types; default_typ ...

  9. nginx 二级域名跳转

    server { listen ; server_name m.aaoo.cn; #charset koi8-r; #access_log logs/host.access.log main; rew ...

  10. nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例

    nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例 二级域名配置 在/etc/nginx/conf.d/目录下配置二级域名同名的conf文件,路径改成对应的即可 statics. ...

随机推荐

  1. MongoDB(7):集群部署实践,包含复制集,分片

    注: 刚开始学习MongoDB,写的有点麻烦了,网上教程都是很少的代码就完成了集群的部署, 纯属个人实践,错误之处望指正!有好的建议和资料请联系我QQ:1176479642 集群架构: 2mongos ...

  2. linux设备驱动学习笔记--内核调试方法之printk

    1,printk类似于用户态的printf函数,但是比printf函数多了一个日志级别,内核中最常见的日志输出都是通过调用printk来实现的,其打印级别有8种可能的记录字串, 在头文件 <Li ...

  3. IntelliJ IDEA更新maven依赖包

    问题: IntelliJ IDEA自动载入Maven依赖的功能很好用,但有时候会碰到问题,导致pom文件修改却没有触发自动重新载入的动作,此时需要手动强制更新依赖. 方法: 方法一: ①.右键单击项目 ...

  4. sdb报告-10 错误问题定位

    # sdb报告-10 错误问题定位在sdb 的集群环境中,如果面对的是一个高并发的操作场景,有时候会莫名其妙地报告 -10 错误. 在 sdb 的错误列表中,-10 错误代表:系统错误. 这是一个笼统 ...

  5. 如何在Oracle中建表空间、建用户并导入dmp文件详解

    假设oracle有个全新的数据库orcl,现在要把数据库文件(.dmp)导入这个全新的数据库orcl中.详细步骤如下:    1. 创建表空间  例如:  create tablespace test ...

  6. response.setHeader();小结

    response.setHeader():1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cac ...

  7. WPF自定义控件(三)

    今天我们开始制作我们的按钮,主要的效果就是一个按钮正常状态.鼠标滑过.按下三态显示不同的图片. 首先我们需要给扩展按钮添加三个属性,分别是正常状态图片,鼠标滑过图片,按钮按下图片. 先贴出Button ...

  8. java常用排序

    1.冒泡排序 public static int[] bubble(int[] a){ for(int i=0;i<a.length-1;i++){ int tmp=0; for(int j=0 ...

  9. spring boot 尚桂谷学习笔记10 数据访问02 mybatis

    数据访问 mybatis 创建一个 springboot 工程,模块选择 sql 中 mysql(数据驱动), jdbc(自动配置数据源), mybatis Web模块中选择 web pom 引入: ...

  10. 视区相关单位vw, vh ,vm,CSS/CSS3长度、时间、频率、角度单位大全

    一.CSS长度值 em 相对于父元素的字体大小 ex 相对于小写字母"x"的高度 gd 一般用在东亚字体排版上,这个与英文并无关系 rem 相对于根元素字体大小 vw 相对于视窗的 ...