演示输入以及输出的“*”号用法 以及测定字符长度
#include<stdio.h> //“scanf”和“printf”的“*”作用演示(意义不同)
#include<float.h>
#include<string.h> //包含“strlen”函数
int main() {
char c_Name1[30] = { 0 }, c_Name2[30] = { 0 };
//测定字符演示
scanf("%s", c_Name1);
printf("%s\t%d\n", c_Name1, strlen(c_Name1));//“strlen”函数测定字符串长度(不包含“\0”)
//输出带E的浮点数
printf("%f\t\n", 3.14e2);
printf(" "" \n");
//输入函数scanf的“*”用法演示
setbuf(stdin, NULL);// 清空标准输入的缓冲区。
scanf("%*c%*c%*c%*c%c%d", c_Name2);//把“” 放在 % 和 转换符 之间 可以跳过指定项
printf("%d\n", c_Name2[0]);
//演示printf *的作用
float f_Num1 = 123.123;
int i_length_1 = 5, i_length_2 = 10;//假设为预设宽度 分别是 5 和 10
int i_Num2 = 12, i_Num3 = 233;
//可以通过参数(变量)来确定字段宽幅
printf("i_Num2=[%d]/t i_Num3=[%d]\n",i_length_1,i_Num2,i_length_2,i_Num3);//第一个参数给“” 确定字段长度 第二个是变量(i_Num2),以此类推 那么第三个参数给“” 第四个是变量(i_Num3)
printf("f_Num1=[%*.f]\n",&i_length_1,i_length_2,f_Num1 );//因为有两个“” 所以需要后面的i_length_1和i_length_2 来告诉程序字段宽度为 5 和 10, 因为只用输出一个变量 所以最后一个才是变量。
return 0;
}
运行截图:
