例如,我有一个字符串,我想编写一个函数,将其中的一部分打印到屏幕上,打印的长度未初始化,但后面按函数或输入数据定义
常
char str[70]="my name is Jack";
printf("%.4s", str[11])
结果将是"杰克"
但是现在现在指定要写入stdout的长度
char str[70]="my name is Jack";
int x;
scanf("%d",&x);
现在我的长度将在稍后定义,以便如何将它与printf一起使用 我现在只使用这种方法
char str[70]="my name is Jack";
int x, i;
scanf("%d",&x);
for(i=0, i<x, i++){
printf("%c", str[11+i]);
这将有效,但我想知道有没有任何方法printf而不使用循环。我试过了
printf("%.xc", str[11+i]);
但结果不正确,所以不是这样。
答案 0 :(得分:3)
在printf转换说明符
中使用*
char data[] = "The name is Jack Monroe";
int length = 4;
int start = 12;
printf("%.*s", length, data + start); // Jack