输入不知道长度的一串数字或字符串

一、字符串

问题:字符串有没有空格?是否只有一个字符串?


1.没有空格的字符串、多个字符串可以用scanf

scanf("%s",str)-------获取单个字符串,字符串之间不能有空格。因为系统吧空格字符作为输入字符串之间的分隔符。

scanf("%s%s%s",str1,str2,str3)--------获取三个字符串,输入时字符串之间以空格分隔。这也就是scanf不能直接获取有空格的字符串的原因

2.获取有空格的字符串,单个字符串可以用gets

gets(str)------一次只能输入一个字符串。


其他字符串处理函数:

puts(str);

strlen(str);计算的是字符串中的实际长度(不算\0)

strcpy(str1,str2);把str2复制到str1里。

strncpy(str1,str2,2);把str2中的前两个字符复制到str1里。

strcat(str1,str2),把2放到1的后面。

strcmp(str1,str2),比较,1>2为正数,小于为负数。


二、数组

1.数组

在C语言里,开辟一个新的空间只能用malloc,不能用new,因为new是C++才有的……malloc和new的区别可以看下面这篇博文

http://www.cnblogs.com/fly1988happy/archive/2012/04/26/2470542.html


你可能感兴趣的:(C语言)