① c语言要限定输出字符串的长度应该怎么操作
在C语言中,输入输出字符串有以下两种方式:
1 用scanf/printf输入输出。
scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。
格式化字符为%s。
定义
char str[100];
输入
scanf("%s",str);
输出
printf("%s",str);
2 C语言还支持专门的字符串输入输出函数:gets/puts。
gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。
puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。
定义
char str[100];
输入
gets(str);
输出
puts(str);
② c语言中数组长度怎么设置
定义数组时在中括号内写上代表长度的数字,定义一维数组和二维数组是一样的。
注意长度是直接用数字大小来代表,而索引时是从0开始算的!
例如:
#include<stdio.h>
main(){
int a[5];//定义一个长度为5的一维数组a
int b[5][6];//定义一个5行6列的二维数组b
}
在定义数组时可以不定义长度,可以由编译器来决定,只要在定义时赋值就可以了,这时括号内可以不写数值。
例如:
#include<stdio.h>
main(){
int a[] = {0,1,2,3,4};//定义一个长度为5的数组,内容为0,1,2,3,4
}
③ c语言如何输入限制长度的字符串
这个可以从缓冲区来做
有一个输入缓冲区,不管是gets或者for循环用scanf单个输入,输入后先进入缓冲区,在从缓冲区读入
你可以定义缓冲区的长度,让他不进入缓冲区,直接读入
具体做法我不知道,你网络一下吧
④ c语言中怎么限制输入字符串的长度
可以这样限制输入字符串的长度:
char s[5];
scanf( "%4s", s );
⑤ c语言中如何自定义数组长度
C99标准支持不定长数组(代价是不能用goto语句)。在输入语句后声明就可以了。
不过现在的编译器对C99的支持都不好```
对于ANSI C(C89)一般的编译器都支持。不过数组长度必须是编译期确定的常量,运行时不能改变。所以采用动态分配实现。
例如
#include<stdio.h>
#include<stdlib.h>/*这个头文件在用malloc和free等分配内存函数时必须被包含*/
int main()
{
int n,*a=NULL;
printf("Please input the num of elements:\n");
scanf("%d",&n);
if(!(a=(int *)malloc(n*sizeof(int)))
{
printf("Memory is not accessed!\n");
exit(1);/*内存分配失败时异常退出。也需要stdlib.h*/
}
/*如下使用方法实质是相同的*/
scanf("%d",a[0]);
scanf("%d",a+0);
/*这里写代码*/
free(a);
/*用完之后需要释放,否则会造成内存泄漏*/
}
return 0;
}
其它还有calloc、realloc等,C++里也可以用new、delete等运算符(如 confuciuskg 所述),具体用法可以直接网络。
⑥ C语言中的F格式符
%f 就是输入输出float类型的格式符,跟%d一样用就可以了. 指定字段长度就是%km.nf这样来用,k是正负号,正可以省略,正表示右对齐,负表示左对齐.
比如说-789.124这个数,一共占8个格子,那么比如%10f,就会左边空两格,然后再输出这个数,%-10f就是先输出这个数,再空两格,然后什么%4f,%3f在这里都没有用,因为这个数有8格,4和3都太小了,它会不空格正常输出-789.12400X,注意小数点后有6位,这是因为float的精度所确定的.然后最后一位误差是不定的,因为计算机硬件原因.所以实际上%10f还是太小了,因为实际上这个数有11位,10无法起到控制格式和空格的作用,10跟不写是一样的,至少%12f才有用.
m就是空格的控制符啦,刚解释过了.
小数点后面的n是精确到几位,比如说%.2f,就是四舍五入保留2位小数.
楼上瞎说...%4f和%3f怎么会把小数省掉!太搞笑了..自己去试试啊~
浮点的%4f的4是包括小数位的~而且这个4是用来做比如表格之类的格式控制,自动输入空格的,不是用来四舍五入舍位数的,如果数据大于4位,那就会直接撑出来,本来多少位,就输出多少位
⑦ C语言中的F格式符
%f
就是输入输出float类型的格式符,跟%d一样用就可以了.
指定字段长度就是%km.nf这样来用,k是正负号,正可以省略,正表示右对齐,负表示左对齐.
比如说-789.124这个数,一共占8个格子,那么比如%10f,就会左边空两格,然后再输出这个数,%-10f就是先输出这个数,再空两格,然后什么%4f,%3f在这里都没有用,因为这个数有8格,4和3都太小了,它会不空格正常输出-789.12400X,注意小数点后有6位,这是因为float的精度所确定的.然后最后一位误差是不定的,因为计算机硬件原因.所以实际上%10f还是太小了,因为实际上这个数有11位,10无法起到控制格式和空格的作用,10跟不写是一样的,至少%12f才有用.
m就是空格的控制符啦,刚解释过了.
小数点后面的n是精确到几位,比如说%.2f,就是四舍五入保留2位小数.
楼上瞎说...%4f和%3f怎么会把小数省掉!太搞笑了..自己去试试啊~
浮点的%4f的4是包括小数位的~而且这个4是用来做比如表格之类的格式控制,自动输入空格的,不是用来四舍五入舍位数的,如果数据大于4位,那就会直接撑出来,本来多少位,就输出多少位
⑧ 在C语言中如何固定字符的长度
主要就是产生固定个数的随机字符,
那么就简单了,用两组随机数:
一组:随机产生0~25的整数num,然后用'a'+num来赋值小写字母,'A'+num来赋值大写字母
一组:随机产生0,1,产生0,用'a'来和num相加,生成小写字母;产生1,用'A'来和num相加,生成大写字母;
⑨ C语言如何限制输入字符长度
这个可以从缓冲区来做
有一个输入缓冲区,不管是gets或者for循环用scanf单个输入,输入后先进入缓冲区,在从缓冲区读入
你可以定义缓冲区的长度,让他不进入缓冲区,直接读入
具体做法我不知道,你网络一下吧
请采纳答案,支持我一下。
⑩ [C语言]我想问下 怎么控制输入字符串的长度比如输入六位以上
可以弄个循环,如果字符串长度不满足条件就始终循环,举个例子:
charstr[100]={0};
scanf("%s",str);
while(strlen(str)<=6)
{
printf("输入字符串太短(需6个字符以上),请重新输入!");
scanf("%s",str);
}
.........................
..........................