c语言找到一个字符串数组包含于另一个数组

供稿:hz-xin.com     日期:2025-01-15
C语言中怎么查找字符串数组中的某个字符?

程序有误,修改如下:
#include
#include
void main(){
char sh[20];
gets(sh);
for(int i=0;i<20;i++)
{
if(sh[i]='@')
{
printf("判断出有字符@
");
break;
}
if(sh[i]='\0')printf("无字符@
");
}
}
扩展资料:
数组的使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
百度百科-数组

比如源字符串是s,要复制到另一字符串t中,这里必须满足t能放得下s的全部元素,否则将会有危险发生。举例代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
char *s="The quick brown fox jumps over a lazy dog. 1234567890";
char *ps=s,t[60],*pt=t;
while(*pt++=*ps++);//这就把s全部复制给t了
printf("%s
",t);//打出来看看...
return 0;
}

void remove(char* str, char *substr)
{
int l = strlen(substr);
char* s = str;
int i;
while (*s)
{
if (memcmp(s, substr, l) == 0)
{
memset(s, 0, l);
s += l;
}
else
{
s++;
}
}
i = s - str;
s = str;
while (i)
{
*s = *str;
if (*str != 0) s++;
str++;
i--;
}
*s = 0;
}
int main()
{
char a[] = "adabcddabcdd";
char b[] = "abc";
remove(a, b);
printf("%s", a);
getch();
return 0;
}


C语言中怎么提取一个字符串从第3个字母开始的其余的字符并保存到另一...
首先你这种定义字符串的方式是错误的 应该这样定义 char *x="abcdefg",这样定义就是定义了一个字符串变量,而你的定义char x 只是定义x为字符变量,在赋值的时候只能赋给x单个字符,如x='a',要搞清楚 字符 和 字符串 的概念 至于你说的提取字符,可如下方法 for(i=0; i<n; i++)\/\/n是...

c语言中怎样把一个字符数组付给另一个字符数组
用strcpy函数!原型声明:extern char *strcpy(char *dest,char *src);头文件:string.h 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。例子:include <stdio.h> include <string.h> ...

C语言如何将一个字符串中的单词分别存到另一个二维数组?
while(1){ gets(line);if(line[0]=='\\0') break;\/*如果输入空行的话就退出程序*\/ totalNumber=0;length=strlen(line);\/*如果当前字符是字母那么通过判断前一个字符是不是字母来判断当前单词的输入是否断开*\/ prvIsAlpha=0;for(i=0;i<length;++i)if(isalpha(line[i])){ tmp[0]=line[i...

...存入另一个字符数组中并输出,要求用最基本的C语言
以一个8为字符串为例:代码如下 include<stdio.h> int main(){ int i,j;char ch1[8],ch2[8];for(i=0;i<8;i++){ printf("请输入第%d个字符",i);scanf("%c",&ch1[i]);fflush(stdin);} for(j=0;j<8;j++){ ch2[j]=ch1[7-j];printf("%c",ch2[j]);} } ...

C语言中把一个字符数组转移到另一个字符数组中,怎样编程
就是字符串复制嘛。逐一赋值过去就好 其实 直接strcpy就行,不过 应该不是你想要的。void func(char *d, char *s){ int i = 0; do d[i]= s[i]; while(s[i++]);}

将一个字符串插入到另一个字符串的指定位置的题目(用C语言解决)
2、从指定位置截取字符串的指定长度。3、从字符串中找到指定字符串的位置后一位开始到结束的字符串。4、从指定的位置开始截取字符串到字符串结尾处。5、从字符串找到指定字符串开始截取字符串的结尾。6、从开始到指定字符串的文件的字符串截取。7、截取指定2个字符之间的字符串,组合成数组。

c语言:一个字符数组给另一个字符数组赋值
如果不要原来的内容,直接scanf("%s",a);如果想把后面的输入放到原来内容后面,即接到abc后面,那么还要个中间数组b[]暂时存放输入的内容,先把新的输入放到数组b[]里面:scnaf("%s",b);然后再接到a[]原来内容的后面:strcat(a,b);不要忘了#include <string.h> ...

...将字符串数组中的一个元素赋给另一个字符串数组中的某个元素?_百度...
char str1[2][10],str2[2][10]={"ABCDEFG", "01234567"};strcpy(str1[1], str2[0]);strcpy(str1[0], str2[1]);printf("%s %s", str1[0],str1[1]);--- 字符数组中的一个元素, 赋给另一个字符数组中的一个元素:include <stdio.h> int main(){ char str1[10],str2...

急。。。><..C语言 查找字符串在另一字符串中出现的首位置
默认空格,回车,制表符都是字符串结束的标志 所以 用gets()函数,它允许输入空格,只有回车后,字符串才结束输入 程序如下 include main(){ int i;char a[50];定义数组 gets(a);输入字符串 while(a[i]!='a')判断位置 i++;printf("位置在%d位",i+1);} 如果哪有看不懂的,可以补充 ...

...将两个字符数组的内容连接后存放到另一个字符数组中 使用gets()输入...
\/\/ printf("s3=\\"%s\\"\\n",s3);printf("请输入要统计的字符:");tmp=getchar();for(i=0;i<strlen(s3);i++){ if(s3[i]==tmp) sum++;} printf("\\"%c\\"出现的次数: %d\\n",tmp,sum);return 0;} 不知道楼主的要求我基本用库函数写的,不知道符不符合要求,不懂得恳请在提问 ...