(perl)就是按照要求输出一定长度字符串例如输入 20 zhong hua ren ming则输出长度为20 的字符串30 dian nao 则输出 长度为30 的那么printf 里面如何写?%%ds、 %{%d}s 都不行哦print("%%ds",$length,$_)请各位帮忙!
你是想输出一个变量可控的长度的字符串是吧,下面这样输出可以:#include<stdio.h>#include<string.h>void main(){ int len = 0; char str[512] = {0}; scanf("%d", &len); getchar(); gets(str); printf("output is [%*.*s]\n", len, len, str);}如:输入7 zhong hua则输出为zhong h
perl中 printf 完全是模仿 C 中的 printf 的,因为C中替代是逐字符扫描的,所以遇到 %% 的时候就直接转意成输出 % 字符了,即printf中 %的转意是不是叠加,所以 %%ds 等于输出 %ds,你要先这样用必须先构造printf的 format 字符段。给你写下应该怎么做printf "%.${length}s", $_还有就是只有printf才支持这样用,print是不行的 小修改了下少了个点, $ 应该在括号外面。你用这个试下就知道,昨天急没有亲自试,抱歉
#include stdio.h#include string.hint main(){ char a[111]; gets(a); printf(len:%d\nfirst char:%c\n, strlen(a), *a);}