当前位置:首页 » 编程语言 » c语言chars

c语言chars

发布时间: 2023-01-25 09:10:22

Ⅰ 请问c语言 char类型的指针要怎么赋值

#include<stdio.h>
#include<conio.h>
char find_char( char const *source, char const *chars );

int main()
{
char source[100]={'\0'}, chars[100]={'\0'}, find_;
printf("Please input source and chars.\n");
gets(source);//用gets函数输入一行字符,保存在数组source中
gets(chars); //用gets函数输入一行字符,保存在数组chars中
find_=find_char(source,chars);
if(find_=='\0')
printf("not found.");
else
printf("%c", find_);
printf("\nend of program\n");
getch(); //要包含头文件 conio.h
return 0;
}
/*find_char:查找source串中是否含有chars中的任意字符,
是则返回具体是哪个字符,否则返回'\0'*/
char find_char( char const *source, char const *chars)
{
int i, j;
for(i=0; source[i]!='\0'; i++){
for(j=0; chars[j]!='\0'; j++){
if(source[i] == chars[j]){
return source[i]; //这里返回的是字符,所以函数返回类型改为char
break;
}
}
}
return '\0'; //默认也要返回
}

Ⅱ c语言中char*是什么意思

楼上完全是误导抄人,什么
字符变量
啊!
char
是一个数据类型,作用才是定义字符型变量(单个或是字符串)。
比方知int
是整形数据,int
a
=
3;这里int
是类型,
a

整型变量
,3是赋值;
char
s
=
'A';
char是字符道类型,s是字符型变量,A是赋值给变量s;
char
s[]
=
"c
program";
char是字符类型,s[]是字符型数组,"c
program"是赋给数组的值

Ⅲ C语言中char s="test";在内存中占几个字节

这句代码有误,编译会报错。。。如果你想问的是"test"这个字符串占几个字节的话,它在内存中占5个字节的,但是它的长度是4

Ⅳ sizeof(chars)是什么意思不明白

sizeof 是用来求变量或类型所占用的字节数的。比如
sizeof(char) 返回字符类型占用的字节数,
sizeof(a)返回变量 a 占用的字节数。

Ⅳ C语言中的char型数据是什么意思

楼上完全是误导人,什么字符变量啊!
char
是一个数据类型,作用才是定义字符型变量(单个或是字符串)。
比方int
是整形数据,int
a
=
3;这里int
是类型,
a
是整型变量,3是赋值;
char
s
=
'a';
char是字符类型,s是字符型变量,a是赋值给变量s;
char
s[]
=
"c
program";
char是字符类型,s[]是字符型数组,"c
program"是赋给数组的值。

Ⅵ c语言里,scanf("%s",chars); 如果我一直输入空格,它就一直不会读取是吗(直到我输入一个非空字符)

c语言里,scanf("%s",chars); 如果一直输入空格,它就一直读取不到chars数组的内容。
scanf()是从第一个非空白字符开始读入的(scanf根本不读入空格当然是从第一个非空格读入),详细地说,当我们输入数据时,在按下回车键前输入的数据都储存在缓冲区,按下回车键后,会把数据及换行符一起传送到标准输入流中,scanf就是从标准输入流中读取数据,它会在其中查找,跳过空白符(空格 换行符 制表符)(scanf不能读取空白符的原因也是如此)。

Ⅶ c语言的数组赋值问题

C语言中,字符串以全0为结束,第二个中没有结束点,用s[11]表示,c编译器会自动在字符串未尾加全0共占据11个元素位置

Ⅷ 关于C语言的char *和scanf的问题

问题出在scanf:
scanf("%s",&chars);
这种用法是错误的, chars本身就是字符指针(指向字符串数组的首地址),所以不需要再取地址了。
应该改为scanf("%s", chars);
或者scanf("%s", &chars[0]);//这是一种画蛇添足的方法,但这个效果和上面式子的效果一样,明白了这点,也就明白这个问题了。

Ⅸ c语言题目:已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s

选D!
把字符串存储到一个数组中,就要用strcpy()函数。
数组不是单个
变量,所以不能直接用赋值语句!
所以,A,B都是错误的。
具体地说:
A中,s是数组s[20]的地址,是个地址常量,把字符串赋给一个地址常量是错误。
B中,s[20]是不是数组s[20],
而是一个变量s[20],
它是不存在的。当你定义了数组s[20]后,就只存在s[0],
s[1],
s[2],
...,
s[19],
不存在s[20].
而且,只有在定义时的s[20]才是整个数组,定以后的s[i]是一个变量。
也只有在定义时,才能对数组用赋值语句赋值,如:char
s[20]="Hello";
定义后,只能用函数strcpy()对数组存储字符串。PS:
strcpy,

string
.
至于C的strcat()函数,我没见过,不知道,估计也是错的。

Ⅹ 请问C语言 char类型的指针要怎么赋值

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *source = malloc(20*sizeof(char);
printf("Please input source \n");
scanf("%s",source);//f方法三
printf("%s\n",source);
char *temp = "my input source"
sprintf(source,"%s",temp);//方法一
printf("%s\n",source);
strcpy(source,temp);//方法二
printf("%s\n",source);
return 0 ;
}
指针是无法存放字符串的,只有指针指向的那块空间才能存放字符串,所以我第一句话给它开辟了20个空间,这样就可以给指针指向的那块空间赋值了,谢谢
另外给你一个建议 char *a = NULL,*b =NULL,*c =NULL;这样的写法是不规范的,很容易出错。标准形式应该是char *a= NULL;
char *b = NULL;
char *c = NULL;

热点内容
随机启动脚本 发布:2025-07-05 16:10:30 浏览:525
微博数据库设计 发布:2025-07-05 15:30:55 浏览:24
linux485 发布:2025-07-05 14:38:28 浏览:304
php用的软件 发布:2025-07-05 14:06:22 浏览:754
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:430
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:695
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:239
java的开发流程 发布:2025-07-05 12:45:11 浏览:684
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:282
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:833