C长度间距
我知道这可能不是发布的地方,但是,我确实做了我需要的工作,但是我很难理解它是如何工作的C长度间距,c,C,我知道这可能不是发布的地方,但是,我确实做了我需要的工作,但是我很难理解它是如何工作的 //Variables char FirstName[100]; char LastName[100]; //Coding printf("Please enter your first name: "); scanf("%s", FirstName); printf("Please enter your last name: "); scanf("%s", LastName); printf("%s %s\
//Variables
char FirstName[100];
char LastName[100];
//Coding
printf("Please enter your first name: ");
scanf("%s", FirstName);
printf("Please enter your last name: ");
scanf("%s", LastName);
printf("%s %s\n", FirstName, LastName);
printf("%d %*s %d", strlen(FirstName),(strlen(FirstName)-2),"", strlen(LastName));
我想让它输出名字和姓氏,然后在下面显示每个字符串的长度。我让它也把数字放在字符串的开头,它可以工作,但我不确定它到底是如何工作的,有人能解释一下最后一个printf是如何工作的吗?主要是%*s部分
- 宽度不是在格式字符串中指定的,而是作为附加值指定的 前的整数值参数 必须格式化的参数
printf(“%*s”,8,值)代码>等于printf(“%8s”,值)代码>
由@Ondrej讲述
#include <stdio.h>
int main() {
int precision = 8;
int biggerPrecision = 16;
const char *greetings = "Hello world";
printf("|%.8s|\n", greetings);
printf("|%.*s|\n", precision , greetings);
printf("|%16s|\n", greetings);
printf("|%*s|\n", biggerPrecision , greetings);
return 0;
}
- 宽度不是在格式字符串中指定的,而是作为附加值指定的
前的整数值参数
必须格式化的参数
e、 g:printf(“%*s”,8,值)代码>等于printf(“%8s”,值)代码>
由@Ondrej讲述
#include <stdio.h>
int main() {
int precision = 8;
int biggerPrecision = 16;
const char *greetings = "Hello world";
printf("|%.8s|\n", greetings);
printf("|%.*s|\n", precision , greetings);
printf("|%16s|\n", greetings);
printf("|%*s|\n", biggerPrecision , greetings);
return 0;
}
只是,只是。