c语言怎么用putchar输出字符串
问题出在while((ch = getchar() != EOF))语句;!=运算级别高于=,所以会先进行getchar()!=EOF运算,再将运算结果赋值给ch,因而ch的值只能是0或1;纠正的办法:
while((ch = getchar() )!= EOF)
用括号给变运算符优先级,将ch=getchar()括起来。
另外,EOF是字符串的结束符号,因而,只做上述改动,程序会陷入死循环。所以指定一个结束标志使循环结束:
while((ch = getchar() != ‘\n’))
经过这样的修改,程序运行就没问题了。
完整的程序如下:
#includestdio.h
#includestring.h
int main()
{
int ch;
while((ch = getchar())!=’\n’)
putchar(ch);
putchar(‘\n’);
return 0;
}
结果:
c语言中怎么输出字符串中的某个字符
c语言来中的字符串实际上是字符数组,如果想输出某位上的字符,可采用数组元素输出方式进行输源出,百如:
char
s[]=”abcde”;
printf(“%c”,
s[3]
);
//输出第四个字符度’d’,%c表示输出单个字符
还可以采用指针方式输出相应位的字问符,如:
char
*p=s
;
//字符字符指针p,指向字符串首地址
printf(“%c”,
*(p+3)
);
//输出第四个字符’d’
或
p+=3;
//先移动指针到第四个字符位置
printf(“%c”,
*p
);
//输出当前字答符’d’
C语言上中怎么样直接输入输出一个字符串
C语言中字符串的输入和输出主要有两种方式:
输入使用:scanf(“%s”,a);对应的输出使用:printf(“%s\n”,a);
输入使用:gets(b);对应的输出使用:puts(b);
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=”a1a2···an”(n=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
c语言中怎么把一个字符串输出到指定的目标
的字符串输出到fp所指向的文件中(这个就是把HELLO写到PRN文件中)
4、首先*a[2]是一个指针数组就相当于一个二维数组(这个你可以看成是a[2][3]的二维数组),而**p=a就是把这个二维数组的首地址赋值给p
那么p现在指向了二维数组中第一个字符的地址(p现在指向了”one”首地址,现在指向了o)
第一条输出语句:
printf(“%s”,*(p++)+1);那么*(p++)就是先使用*p然后p在自加一次,这时*p指向o地址然后*p+1那么此时*p就指向了n的地址,因为在输出语句里使用的是%s(它可以从当前地址一直输出到这个串的结尾),因此第一条输出结果就为ne
第二条输出语句:
printf(“%c”,**p-1);因为p在上一次输出语句中自加了一次,那么这时p就指向了下一个字符串的位置(即:p指向了t),而**p表示的是一个值(即:**p=t),再加上**p-1也就是t-1,而t-1在ASCII码中表示的是s,又因为%c是输出一个字符因此就输出一个s
那么最后结果就是nes了
注:a[0]就是”one”字符串的首地址,a[0][0](或者**p)就相当于o,而*p+1就相当于n了,如果在执行p=p+1这时**p就指向了下一个字符串即:t
a[1]就是”two”的首地址,而a[1][0]就相当于t
c语言中如何输入输出字符串
在C语言中,输入输出字符串有以下两种方式:
1 用scanf/printf输入输出。
scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也
其支持范围内。
格式化字符为%s。
定义
char str[100];
输入
scanf(“%s”,str);
输出
printf(“%s”,str);
2 C语言还支持专门的字符串输入输出函数:gets/puts。
gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。
puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。
定义
char str[100];
输入
gets(str);
输出
puts(str);
扩展资料:
起初,C语言没有官方标准。1978年由美国电话电报公司(ATT)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。
这本书被 C语言开发者们称为KR,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为KR C。
KR C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,KR C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行KR C的标准。
1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 “Programming Language C”。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 – Programming languages — C 。
因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。
1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 – C Integrity [7] ,有些人简称为C95标准。
参考资料:百度百科-c语言
在C语言中如何实现用键盘输入一个字符串,并打印出来?
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:
1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。
2、gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。
3、接着用puts()函数输出之前我们从键盘读取的字符串。括号内为字符串数组的名字,要与前面的保持一致。
4、然后点击运行,得到以下结果即为正确。
扩展资料:
字符数组的输出:
(1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:
for(i=0;i10;i++)
a[i]=putchar();
用printf()赋值:
for(i=0;i10;i++)
printf(“%c”,a[i]);
输出结果为:
c program [2]
(2)用printf()的’%s’格式对数组赋值。还是对于数组a[10];
printf(“%s”,a);
输出结果为:
c program
参考资料来源:
百度百科-char
百度百科-字符数组