字符串c语言
㈠ c语言字符串
若你的编译器支持中文字符输出,则你可把输出语句里的英文字符改用中文。
#include<stdio.h>
int main()
{
char s[80];
int i;
printf("input a string (upper-case latters only) please:\n");
loop: gets(s);
for (i=0;i<strlen(s);i++){
if (s[i]>='A' && s[i]<='Z') continue; //大写判断
else {
printf("re_input a string (upper-case latters only) please:\n");
goto loop; //转向语句
};
};
printf("output reversed:\n");
for (i=strlen(s)-1;i>=0;i--) printf("%c",s[i]);
return 0;
}
㈡ C语言中如何定义字符串
可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。
下面通过举例来分别进行说明:
char str1[] = "HelloWorld"; // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char *str2 = "HelloWorld"; // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
#define str3 "HelloWorld"; // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
㈢ 在c语言中怎样定义字符串
c语言中没有专门的字符串变量,c把字符串作为字符数组来处理。
char
c[]={"Hello"};或者char
c[]="Hello";
此时字符串在数组中的存放形式为
前五个分别存'H','e','l','l','o',最后还有一个结束标志'\0'
㈣ c语言如何声明字符串
C语言中没有字符串类型的变量。
他只有字符变量类型char,所以字符串用变通的方式来表示。
第一是字符数组来表示字符串。用下面的语句声明:
char a[10];
C语言中字符数组与字符串的唯一区别是字符串末尾有一个结束符'\0',而字符数组不需要。
如刚才声明的a[10]是一个含有10个元素的字符数组,它也能存放含有9个元素的字符串。
第二种方式是直接用指针。语句是:
char *a;
用指针声明的字符数组,大多数功能与字符数组表示字符串相同。但也有以下两点不同,一是储存位置不同,用字符数组表示时,字符串是存放在储存器的变量区域内;而用指针表示的字符数组是存储在储存器的常量区内;第二个区别是字符数组的字符串可以更改,而指针表示的字符串不能更改。
有关字符串的赋值方法,如何引用,请参考相关书籍。
有什么问题请留言。
㈤ C语言中什么是字符,什么是字符串啊,谢谢
C语言中单引号的是字符,双引号的是字符串。
1、字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。字符在计算机内存放,应规定相应的代表字符的二进制代码。代码的选用要与有关外围设备的规格取得一致。
2、字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的。
它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
(5)字符串c语言扩展阅读
C语言字符串的使用
用来存放字符的数组称为字符数组,例如:
charc[10];
字符数组也可以是二维或多维数组。例如:
charc[5][10];
字符数组也允许在定义时进行初始化,例如:
charc[10]={'c','','p','r','o','g','r','a','m'};//c[9]未赋值,所以为默认值’ ’
当对全体元素赋初值时也可以省去长度说明。例如:
charc[]={'c','','p','r','o','g','r','a','m'};
这时c数组的长度自动定为9。
字符数组和普通数组一样,也是通过下标引用各个元素。
㈥ c语言字符串代码
to Earthg:
scanf不能实现含多个子字符串的字符串的读取。
to xbvl3vosrs:
C++中也没有大写的String类,而且C++标准库STL中的小写string类中也没有Split方法。
---------------------
C语言提供库函数strtok,可以实现字符串分割。
给出MSDN范例代码如下,注释已经适当添加和修改:
/* STRTOK.C: In this program, a loop uses strtok
* to print all the tokens (separated by commas
* or blanks) in the string named "string".
*/
#include <string.h>
#include <stdio.h>
char string[] = "A string\tof ,,tokens\nand some more tokens";
char seps[] = " ,\t\n";
char *token;
void main( void )
{
printf( "%s\n\nTokens:\n", string );
/* Establish string and get the first token: */
token = strtok( string, seps ); // 这里获得第一个子串
while( token != NULL )
{
/* While there are tokens in "string" */
printf( " %s\n", token ); // 如果你要存放每个子串进入二维数组,那么这一句就改成字符串赋值
// 使用strcpy函数。
/* Get next token: */
token = strtok( NULL, seps ); // 这里从第二个子串开始依次获得每一个子串
}
}
-----------------------------------
㈦ c语言如何传递字符串
c语言函数中传递字符串,可以分为两种情况,一种是将字符串作为参数,一种是将字符串作为返回值 ,当使用字符串作为返回值时,切记不要传递局部字符数组。下面是一个示例代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidf(char*str){//字符串作参数
printf(str);
}
char*r(){//字符串作返回值
//使用动态分配内存,不要使用局部变量比如
//charbuf[80];因为局部变量在函数结束时,栈区变量已被回收
char*str=(char*)malloc(256*sizeof(char));
if(str==0){printf("can'tallocmem ");return0;}
elsememset(str,0x00,sizeof(char)*256);
returnstr;//
}
intmain()
{
char*pstr=r();
if(pstr!=0)strcpy(pstr,"helloworld ");
f(pstr);
free(pstr);
return0;
}