函数进行面向行的输入,需要注意缓冲区的长度和清除缓存区内的残留数据。2. 使用get()函数进行面向行的...
在C语言中,输入输出字符串有以下两种方式:\r\n1 用scanf/printf输入输出。\r\nscanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。\r\n格式化字符为%s。\r\n定义\r\nchar str[100];\r\n输入\r\nscanf("%s",str);\r\n输出\r\npri...
假设字符串的长度为5,则:include<stdio.h> define N 5 void main(){ int i;char a[N];for(i=0;i<N;i++)scanf("%c",&a[i]);for(i=0;i<N;i++)printf("%c",a[i]);}
介于%和s之间的m有measure(测量)的含义,它可以测量输入字符串的长度,scanf()根据字符串的长度分配内存,并将字符串拷贝到这段内存,之后将首地址返回给m。在使用完毕后,需要调用free()函数释放这段内存。程序源代码如下:include<stdio.h> intlength(char*p);voidmain(){ intlen;char*str[20];...
cdyzxy 的做法已基本够用了!如果不行就用 //...char s[6] = "";for(int i=0;i<5;i++){s[i] = getch();if (s[i]=='\n'){break;}}//...
1.#include<string,h> void main(){char str;gets(str);}/*你只要不按回车你想输多少就输入多少*/ 2.include<stdio.h> void main(){char c[20];int i=0;while(1){scanf("%c",c[i]);i++;if(i==10) break;} } 还有很多方法。
lstr = strlen(str);//计算字符串长度 srand((unsigned int)time((time_t *)NULL));//使用系统时间来初始化随机数发生器 for(i = 1; i <= num; i++){//按指定大小返回相应的字符串 sprintf(ss,"%c",str[(rand()%lstr)]);//rand()%lstr 可随机返回0-71之间的整数, str[0-71]可随机得...
,'d'}; //不要定义成字符数组 //char b[]={'a','b','c'};//char c[]={'a','b'};char a[]="abcd"; //定义成字符串形式 char b[]="abc";char c[]="ab";printf( "%6s\n" ,a ); //%6s,每个字符串输出都是6个字符,不足的补空格 printf( "%6s\n" ,...
要输入任意长度字符串,就需要使用动态内存 也就是逐个元素读入,当不够的时候重新分配。以下是一个简单的思路, 以\n作为字符串结束标记。include <stdio.h>#include <stdlib.h>int main(){ int len=100; char *p=NULL; int cnt=0,c; p = (char *)malloc(len); while((...
算法写错了 include<stdio.h>#include<string.h>void main(){char str[100];int i,j;printf("please input a string: ");gets(str);for(i=0;i<strlen(str)-1;i++){for(j=i+1;j<strlen(str);j++)if(str[i]>str[j]) {char temp; //交换这里错了temp=str[j];str[j]=str[...