请问类型char与string有什么区别啊?
1、类型不同
char是字符类型, String是字符串类型。
2、包含
String字符串是用来包含串的, char是用来包含单字符的。
例如:
char a=’1′;//定义一个字符
String b=”dadsa”;//定义一个字符串
3、存储
String内部用来存储的结果是一个char字符数组。
private final char value[];//这是string中用来存储值的结构。
4、定义
char 定义时用单引号 ,只能有一个字母数字。
String定义时用双引号 ,可以是一个,或者多个字母或汉字等,就是所谓的字符串。
扩展资料:
使用方法
1、char
#include
using namespace std;
int main()
{
char* pstr = “hello world”;
pstr = “aa”;
pstr[1] = “a”; //报错
cout
}
2、string的定义字符串
#include
#include
using namespace std;
int main()
{
string str1;
str1= “hello world”;
str1=”aa”;
str1[1]=”a”;
cout
}
用scanf以后 再用scanf或者gets输入一个字符串时上次输入的留下了,怎么办?
- 在前一个界面中,我用scanf("%d", &choice); getchar();输入一个数1,下一个界面需要输入一个字符串,用scanf("%s",newname);getchar();结果那个1出现在我字符串输入光标的后面,然后按delete倒也可以删除,不删除就会留在字符串里。这是怎么回事?怎么处理?谢谢大侠了
- 那个1不需要输入
安卓开发怎么让按钮有键盘一样能往EditText里输入字符串
- 就是我创建一个按钮和一个edittext 。按钮想往edittext输入值,但是每次输入都只是一个字符,还不是字符串,也就是说输了下个按钮值后之前的就被顶替了,但是键盘输入就是字符串。而我想要的是能点按钮输字符串怎么解决这问题,谢谢
- 你用赋值当然充掉上次值,你用字符串相加之类的运算不就行了。
C语言编程:主函数输入一行有空格和数字的字符串,求这行字符串的缩写,怎么编?
- 要求:1)在主函数中输入字符串,有空格数字和字母。2)自定义函数char *strToS(char *str)形成缩写。缩写规律:A)提取每个单词的第一个字母形成缩写;B)数字开头或长度不足4个字母的单词不进入缩写。3)缩写结果以大写存放在输入字串的数组中。4)在主函数中输出。
- 代码文本:#include "stdio.h"#define N 300char *strToS(char *str){ char s[N/3],t[25],*pend,*p; int i,j,k,n; for(pend=str;*pend;pend++);//求str长度,记结束地址 for(pend–,j=0,p=str;ppend;p+=n){ sscanf(p,"%s%n",t,&n); for(k=0;t[k];k++); if(k3 && (t[0]=a && t[0]=z || t[0]=A && t[0]=Z)) s[j++]=t[0]&0xDF;//记录缩写并变成大写 } for(s[j]=i=0;str[i]=s[i];i++); return str;}int main(int argc,char *argv[]){ char str[N]; printf("Please enter a string contain Spaces and figures…n"); fgets(str,N,stdin); printf("nAbbreviations results: %sn",strToS(str)); return 0;}
C语言中输入字符串,里面有空格,怎么根据空格把字符串分开,并存在数组里?
- 给你一个程序,你看看吧 #includestdio.h#includestring.hint main(void){char a[1000];char aa[1000];char c[] = " ";printf("请输入一串字符:");gets(a);char *p = strtok(a,c);printf("%sn",p);p = strtok(NULL,c)酣籂丰饺莶祭奉熄斧陇;while(p){printf("%sn",p);p = strtok(NULL,c); }}
C语言输入一段字符串,求有多少个单词怎么做?
- for(i=0,s=0;i=k;i++){ if(a[i]== )if(a[shang]!= ) {count++;shang=i;}shang=i;}这是我的构思,但有漏洞,我依靠求空格的个数来求单词的个数,shang代表上一个字符,意思是,如果上一个字符不是空格,现在这个下一个字符是空格,count就自加一,,可是,wo ai ni(后面无空格)时候,求的count是2,,只有:wo ai ni(后面有空格)时候,count才是3,有什么办法解决吗?没什么分了,,不好意思。。
- 如果上一个字符不是空格,现在这个下一个字符是空格,count就加一这句改成如果上一个字符不是空格,现在这个下一个字符是空格或者是0,count就加一有问题请追问
C语言:输入一个字符串,怎么找出频率最高的那个字母呢
- #includestdio.h#include stdio.h#include string.hvoid fun(char a[]){ int b[26], i, n,max; for (i=0; i26; i++)**********found********** a[i] = 0; n= strlen(a); for (i=0; in; i++) if (a[i] =a && a[i]=z)**********found********** b[a[i] – A]++; else if (a[i] =A && a[i]=Z) b[a[i] -A]++; max = 0; for (i=1; i26; i++)**********found********** if (b[max] b[i]) max=i; printf("出现次数最多的字符是 : %cn", max + a);}main( ){ char a[200]; printf("请输入一个待统计的字符串 : "); scanf("%s", a); fun(a);}
- #includestdio.h#include stdio.h#include string.hvoid fun(char a[]){ int b[26], i, n,max; for (i=0; i26; i++) **********found********** b[i] = 0;这里a[i]改成了b[i] n= strlen(a); for (i=0; in; i++) if (a[i] =a && a[i]=z) **********found********** b[a[i] – a]++;这里A改成了a else if (a[i] =A && a[i]=Z) b[a[i] -A]++; max = 0; for (i=1; i26; i++) **********found********** if (b[max] b[i]) 这里改成了 max=i; printf("出现次数最多的字符是 : %cn", max + a);}main( ){ char a[200]; printf("请输入一个待统计的字符串 : "); scanf("%s", a); fun(a);}
C语言 怎么读取用户输入的一串有数字也有大写字母的字符串
- 就是类似A65KE-6P9G5这样的字符串
- scanf可以,不过我更喜欢 gets。
C++怎么用递归判断回文字符串并且可以忽略空格和标点符号,最好是一个完整的程序,从提示输入句子起
- Write a recursive functiontest Palindrome that returns true if the string stored in the array is a palindrome, and false otherwise. The function shouldignore spaces and punctuation in the string.
- 什么意思?发清楚啊啊啊
【c语言】输入一个字符串,把大写改成小写 大家帮我看看我怎么错了
- #includestdio.h#includestring.hint main(){ char string[20]; int i; gets(string); for(i=0;i!=0;i++) { if(string[i]=A&&string[i]=Z) string[i]=string[i]+32; } printf("%s",string); return 0;}每次的结果都是按照输入的输出
- #includestdio.h#includestring.hint main(){ char string[20]; int i; gets(string); for(i=0;i!=0;i++)改成for(i =0;string[i]!=0;i++) { if(string[i]=A&&string[i]=Z) string[i]=string[i]+32; } printf("%s",string); return 0;}
C++ 输入一个字符串 怎么把它的每一个元素按顺序放进一个字符数组里?
- 网上看其他答案看不太懂需要包括空格…也就是用户输入一串字符串,比如string a = asf a sf@#%d6safsd ga需要把这些包括空格在内的元素(也就是‘a’,‘ ’,‘s ’,‘f’,@等等等等)一个个都放到char c[]这个数组里,如果不是char也可以主要是指针学得不是很懂……在下小白一个,如果用到函数的话,希望有大神能解释得详细一点谢谢
- memcpy(c,a.c_str(),a.length() )a.c_str()返回的是string内部内容用C指针方式的字符串指针a.length(),a的长度如果是字符串拷贝也可以考虑 strcpy(c,a.c_str() )