您的位置 首页 知识

c语言输出字符串(c语言string和char的区别)

怎么用C语言输出字符串?

在C语言中,要输出字符串可以使用printf函数,该函数可以输出字符串常量或者字符串变量。

如果要输出字符串常量,可以在printf函数的引号内直接输入字符串,如printf(“Hello World”);如果要输出字符串变量,则需要使用%s占位符,如printf(“%s”, str),其中str是一个字符串变量。在输出字符串时,还可以使用转义字符来输出特殊的字符,如n表示换行,t表示制表符等。反正,C语言提供了多种输出字符串的方法,开发者可以根据需要选择适合的方法。

请问类型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

}

怎样用汇编语言输出中文字符串

用汇编语言输出中文字符串和输出普通字符串是一样的,定义字符串时,看到的是中文,实际存储的是中文内码,一个汉字占两个字节;当输出到屏幕上时,只要是中文系统平台,显示的就是汉字,在不是中文系统的平台上,则显示乱码。

C语言中,puts()函数,为什么输出gets()scanf()获取的字符串,可以输出0,不是遇结束字符停止输出吗?

  • char str1[100]; 如果输入"hjiuajg0hisajsjaas",puts()会全部输出 gets(str1); puts(str1); char str2[100]; 如果输入"hjiuajg0hisajsjaas",puts()会全部输出 scanf("%s",str2); puts(str2); char str3[100]="hjiuajg0hisajsjaas"; 只输出前面的"hjiuajg" puts(str3); puts("hjiuajg0hisajsjaas"); 只输出前面的"hjiuajg"puts();不是遇到结束字符就停止输出,并自动换行吗为什么gets()或者scanf()获取的字符串中,用puts()去输出,结束字符和后面的字符可以全部输出来?
  • 你用gets输入的不是结束字符是和0.

C++语言中如何将string字符串逆序输出?

  • 就比如说输入LIGHT输出THGIL
  • string string1; cin string1; for(int i=(int)string1.size()-…2010-06-18 输入一段字符,逆序输出,用C++ 4 2013-06-01 C语言输入字符…

C语言字符串输入输出问题

  • #includestdio.h#includestring.h#define MAX 100#define LIM 100int main(){int m,n;行列数int i = 0;char input[LIM][MAX];char *pstr[LIM];scanf("%d,%d",&m,&n);printf("%d %dn",m,n);while(im && gets(input[i])!= NULL && input[i][0]!=0){pstr[i] = input[i];i++;}for(i=0;im;i++)puts(pstr[i]);return 0;}问题补充: 无法输出,why
  • 输入:aaa bbbccc ddd 输出结果是:aaabbb ccc ddd 分析:scanf("%s%s",s1,s2); 读进去的是s1="aaa",s2="bbb"gets(s3); 此时s3="n",这个换行符是"bbb"后面的回车gets(s4); s4="ccc ddd",gets函数读的是一整行这样可以么?

C语言字符串输出问题,急!以下代码应该输出什么?为什么?

  • char *getmemory(){char p[]="hello world";return p;}void test(){char *str=NULL;str=getmemory();printf(str);}
  • p是局部数组,返回时其占用的内存就释放了。

C语言 字符串输出

  • 怎么输入多组字符串 再按顺序输出出来例 输入: asfas qwesa weq12wqe输出 : asfas qwesa weq12wqe
  • #include stdio.hint main(){char a[]={a,b,c,d}; 不要定义成字符数组 char b[]={a,b,c};char c[]={a,b};char a[]="abcd"; 定义成字符串形式 char b[]="abc";char c[]="ab";printf( "%6sn" ,a ); %6s,每个字符串输出都是6个字符,不足的补空格 printf( "%6sn" ,b );printf( "%6sn" ,c );} 这是运行后的结果

c语言,怎样输出有空格的字符串?

  • #include stdio.hint main(){ char* p= "红橙黄绿青蓝紫"; while(*p!="0") { printf("%s ",(*p)); printf(" ",(p++));}}
  • 你想要指针的方法给中文插入空格打印输出,你的代码错在1、结束符号要写0或者,不能写“”。2、一个中文是2个英文字符大小,所以每次循环指针要取2位打印。所以上面那个指针的代码要改成:#include stdio.hint main(){ char* p= "红橙黄绿青蓝紫"; while(*p!=0) { printf("%c%c ",*p,*(p+1)); printf(" "); p+=2; }}

c语言 输入三个字符串,输出最小者 谢谢

  • #includestdio.h#includestring.hint main(void){ char a[100],b[100],c[100],*p1=a,*p2=b,*p3=c,*p; gets(a); gets(b); gets(c); if(strcmp(p1,p2)0){p=p1;p1=p2;p2=p;} if(窢场促渡讵盗存醛担互strcmp(p1,p3)0){p=p1;p1=p3;p3=p;} if(strcmp(p2,p3)0){p=p2;p2=p3;p3=p;} printf("最小的字符串是%sn",p1); return 0;}

c语言:写一函数,输入一行字符,将此字符串中最长的单词输出

  • #include#includeintmain(){inti,j,k,l;chara[80],b[80],c[80];c[0]=0;gets(a);for(i=0;istrlen(笭互蒂就郦脚垫协叮茅c)){strcpy(c,b);}break;}elseif(a[k]==&&a[k+1]!=){b[j]=a[i+1];break;}elseif(a[k]!=&&a[k+1]!=){b[j]=a[k];}}i=k;}for(l=0;lstrlen(c)的条件,否则你输出的是最后一个单词。5、elseif(a[k]==&&a[k+1]!=)中的b[j]=a[i+1];我不知道有什么作用,把它注释掉了。6、for(j=0,k=i;k

C语言 字符串的输出,为什么输出那么多‘烫’呢?

  • 出现“烫”的原因是由于字符数组中的某些数组元素没赋值。具体原因可以通过如下实例来进行说明:char a[10];a[0] = a;a[1] = b;a[2] = c;a[3] = d;printf("%s", a); 输出结果就会出现很多“烫”,因为只对数组a中前四个元素进行了赋值,后面的元素未进行赋值,所以计算机默认就输出“烫”如果作如下修改就会正常输出char a[10];a[0] = a;a[1] = b;a[2] = c;a[3] = d;a[4] = 0;printf("%s", a); 输出abcd,因为加了结束字符沪禒高溉薨防胳狮供饯0,而C语言中输出字符串是以结束字符0作为结束输出的,所以只输出0前面的所以字符,即abcd