C语言中怎样获得字符串中的单个字符

作者&投稿:招锦 (若有异议请与网页底部的电邮联系)
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函数逐个对数组元素赋值。
参考资料:
百度百科-数组

C语言关于字符串的学习,打印并输出我们的字符串(string)

根据字符串存储的变量的不同,方法不同,参考代码:

存储在char数组中(支持C/C++)

char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
    printf("%c
", str[i] ); //以数组方式引用一个字符:str[i] 
for( i=0;*(str+i);i++ )
    printf("%c
", *(str+i) ); //以指针方式引用一个字符:*(str+i)

存储在string中(仅支持C++)

    string str="abcde";
    for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
    { 
        cout<<*iter<<endl; 
    } 
    cout<<endl;
    
    for( int i=0;i<s.length();i++ ) 
    { 
        cout<<s[i]<<endl; //使用数组方式调用,得到单个元素
    }


根据字符串存储的变量的不同,方法不同,参考代码:
存储在char数组中(支持C/C++)
char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
printf("%c\n", str[i] ); //以数组方式引用一个字符:str[i]
for( i=0;*(str+i);i++ )
printf("%c\n", *(str+i) ); //以指针方式引用一个字符:*(str+i)存储在string中(仅支持C++)
string str="abcde";
for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
{
cout<<*iter<
评论
0
0
加载更多

根据字符串存储的变量的不同,方法不同,参考代码:
存储在char数组中(支持C/C++)
char str[]="hello" ;
int i;
for( i=0;str[i];i++ )
printf("%c\n", str[i] ); //以数组方式引用一个字符:str[i]
for( i=0;*(str+i);i++ )
printf("%c\n", *(str+i) ); //以指针方式引用一个字符:*(str+i)存储在string中(仅支持C++)
string str="abcde";
for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器
{
cout<<*iter<
评论
0
0
加载更多

错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:
#include
#include
int
main()
{
char
sh[100],n=0;
gets(sh);
for(int
i=0;sh[i];i
)
if(sh[i]=='@')
n
;
if(n==0)
printf("没有字符
@\n");
else
printf("有字符
@\n");
}

记得前面加上include<cstring>
str[i];(i就是你想要的字符所在位置)

#include <stdio.h>
#include <cstring>

int main(void)
{
char string[9]="abcdefg";
printf("%c\n",string[2]); // string[i]输入第i+1个字符
return 0;
}


C语言提取一列字符中的某个字符,怎么提取啊
教你一个土办法,直接复制到WORD,右对齐,确保每一行数据都在页面上没有断行,然后一直按住ALT,用左键选择你要的字符,向下拖动就能选中同一列的字了,然后复制,粘贴就行了,不过这个方法不太适合30000行,不过你可以试着让页面显示比例缩小(按住CTRL,滚动鼠标的滚轮就可以缩放页面了),然后再“ALT+左键选择...

c语言,从字符串中提取几个字符
首先你要知道你要读出的时间的标志。比如你把读到的字符串存到 一个char* buf 里 ,首先你可以全部打印出来看看你读到的字符串,然后找到你要的东西,比如你要的字符串是TIME, 可以利用函数 strstr 将指针定位到这个位置,然后把你要的数据保存到另一个数组里 就行了 ...

c语言中如何获得字符串的长度?
解题思路:声明一个大于或等于80长度的字符数组,例如char a[100]。使用gets()函数输入字符串,该字符串以回车符作为结束标记。获得字符串的长度,以该长度值-1作为起点,以0作为终点,循环输出字符。注意:获得字符串长度可以用<string.h>库的strlen()函数,该函数返回字符串的实际长度,其中不包含空...

C语言怎么从字符串中取出中文字符?
这个需要具体看编译器中汉字的编码情况,汉字编码是2至4个字节,我是手机编译器,汉字编码是3个字节,参考代码如下:include<stdio.h> char *str = "你好123哈哈456";int main(){ int i;for(i=0;str[i]!=0;++i)if(str[i]>127){ printf("%c%c%c\\n",str[i],str[i+1],str[i+2...

c语言怎样输入一个字符串列表呢?
然后,split()函数将字符串拆分为一个列表,并使用int()函数将每个元素转换为整数类型。最终,将得到一个整数列表,存储在名为my_list的变量中。如果您想输入一个字符串列表,而不是整数列表,可以省略int()函数,并直接使用以下代码:在这种情况下,将获得一个字符串列表。

C语言取出字符串中的字母
include <stdio.h> int main() { char s[100];int i;scanf("%s",s);for(i = 0;s[i];i++) { if(a[i] >= 'a' && a[i] <= 'z') s[i] -= 'a' - 'A';else if(a[i] >= 'A' && a[i] <= 'Z') a[i] -= 'A' - 'a';} printf("%s\\n",s);return ...

C语言问题,怎么从一个指定的文本文件中读取字符 新手不会用 请详细点...
楼主你看看吧,不过最好你还是去看书,文件操作不难的。这是从控制台写数据到文件中,然后把数据从文件中读出来同时记录文件中有多个字符,多少个单词,多少个句子。include<stdio.h> include<stdlib.h> int main(){ FILE *out,*in;char ch;int cnt = 0,chnum = 0,wordnum = 0,sennum = ...

c语言中如何输出一个字符的asc码,比如一个字母a,通过怎样的语句可以获得...
c语言实现:include<stdio.h> int main(){ char a='a';printf("%d",a);return 0;} 想要输出ASCII值直接将字母在赋给字符变量,然后将字符用printf输出时输出类型变为%d就可以。

gets和getchar的区别
首先,gets和getchar都是C语言中用来读取字符的函数,但它们在使用方式和功能上有一些不同。 gets()函数:这个函数可以从标准输入(通常是键盘)读取一串字符,直到遇到换行符(Enter键)为止。换行符是输入结束的标志。读取的字符被存储在字符串中,字符串以空字符('\\0')结尾。 例如,如果你输入“Hello World”,gets()...

c语言中如何取指定位置的字符串
STR2 DB ‘Branch2’,’STR3 DB ‘Branch3’,’STR4 DB ‘Branch4’,’ERR DB ‘Error’,’DATA ENDS CODE SEGMENT ASSUME CS:DATA,SS:STACK,DS:DATA 【设定逻辑段段址所在的段寄存器】START: MOV AX,DATA MOV DS,AX BEGIN: MOV AH,01H INT 21H 【使用int21的分项功能,插入一个字符,...

新田县13877981802: C语言如何取一串字符串中的某个字符 -
公进耳聋: C中的字符串就是一个字符数组. 如: char s[10]="wo shi SB"; char c; 取最左边的字符,就是c=s[0];

新田县13877981802: C语言中怎样读取一行字符中的一个字符 -
公进耳聋: int getchar ( void ); 读取一个字符. 结果是 int 型 循环读,就可以读取一行字符中的每一个字符.也可以用 gets 读入 一整行字符, 结果存入 char 数组, char 数组中的每一个单个字符 可以 看成 一字节 整数.

新田县13877981802: C语言中怎么查找字符串数组中的某个字符? -
公进耳聋: #include void main() { char sh[20];int i;gets(sh);for( i=0;i<20;i++)if(sh[i]!='@')printf("没有字符 @\n");elseprintf("有字符 @\n"); } //你用break,第一只就break循环了

新田县13877981802: 标准C中,怎么从字符串中获取一个字符? -
公进耳聋: #include "stdafx.h"char * getWchar(char *str, char *substr, int index){ substr[0] = str[2*index]; substr[1] = str[2*index+1]; substr[2] = '\0...

新田县13877981802: C语言中怎么查找字符串数组中的某个字符?
公进耳聋: #include <stdio.h> #include <string.h> void main() { char sh[20]; int i; gets(sh); for( i=0;i<20;i++) if(sh[i]!='@') printf("没有字符 @\n"); else printf("有字符 @\n"); } //你用break,第一只就break循环了 #include <stdio.h>#include <string.h> void...

新田县13877981802: c语言里怎样取一个字符串的第一个字符? -
公进耳聋: 你定义的是指针类型的还是数组类型的啊,指针的话取首地址就行了;数组的话,如char ch_array[10]; 第一个字符就是ch_array[0]

新田县13877981802: C语言中如何查找字符串数组中的某个字符
公进耳聋: 错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了.改成下面就行了: #include <stdio.h> #include <string.h> int main() { char sh[100],n=0; gets(sh); for(int i=0;sh[i];i ) if(sh[i]=='@') n ; if(n==0) printf("没有字符 @\n"); else printf("有字符 @\n"); }

新田县13877981802: 用C语言,怎样可以从一个字符串中获取指定第几个字符啊? -
公进耳聋: //取字符串p的第i个字符char GetChar(char*p,int i){if((strlen(p)>i)&&(0

新田县13877981802: c语言怎样把一个字符串分成单个字符逐个读入 -
公进耳聋: 利用for循环按字符输入,如:for(i=0; i scanf("%c", &str[i]);

新田县13877981802: c语言如何取单个汉字 -
公进耳聋: //一个汉字占两个字节,且第一个字节第首位为1 #include <stdio.h> #include <string.h> int main() {char a[] = {"我是在在雷达百无一用夺"};char b[3];int i;printf ("len=%d\n", strlen(a));for (i = 0; i < strlen(a); ++i){if (a[i] < 0){b[0] = a[i];b[1] = a[i+1];b[2] = '\0';printf ("%s\n", b);++i;}}return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网