字符转ASCⅡ码
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
void main()
{
char ch;
printf("输入一个字符:");//提示输入性语句
scanf("%c", &ch); //以%c格式读入字符,存到ch变量中
printf("字符%c中的ASCⅡ码值是%d.\n", ch,ch); //按%c和%d格式输出ch
}
为什么最后一行的printf()中要打ch,ch而不是ch? 本帖最后由 昨非 于 2020-10-25 11:20 编辑
因为printf()格式控制串里每个%对应后面的一个变量
你这里有两个%,分别是%c和%d ,虽然输出的是同一个变量ch,但格式不同,所以后面要跟两个变量 字符和数字都是以二进制数字形式存储在内存中的, %c和%d读的都是同一个内存地址,只是显示形式不一样 本帖最后由 yuxijian2020 于 2020-10-25 11:33 编辑
printf函数里第一个参数中%c(或者%d,%f,%ld,%lf等等)就代表占位符,就是告诉编译器后面要带上几个参数(用来替换这些占位符)
你这里有2个占位符就代表后面要额外带2个参数,但是如果后面不是2个参数,编译器找不到额外的第二个参数就会报错
重点是后面的每个参数只能替换一个占位符,哪怕你是用相同的变量替换不同的占位符,有几个占位符,你的变量就要写几次
占位符和后面的参数数量必须是相等的
页:
[1]