【发布时间】:2015-03-26 16:26:43
【问题描述】:
例如,我有一个字符串,我想编写一个函数,将它的一部分打印到屏幕上,打印的长度未初始化,但稍后由函数或输入数据定义
通常
char str[70]="my name is Jack";
printf("%.4s", str[11])
结果将是“杰克”
但是现在指定了要写入标准输出的长度
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]);
但是结果不正确,所以不是这样的。
【问题讨论】:
-
scanf("%d",x);应该是scanf("%d",&x);。 -
printf("%.4s", str[11])应该是printf("%.4s", str + 11)