编译程序输入字符串
A. 编写一程序,用键盘输入字符串:
#include
<stdio.h>
void
main()
{
char
str[5];
scanf("%s",str);
printf("Hello,%s\n",str);
}
c语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组。
B. c语言编程序,输入字符串的有效长度,并输出该字符串
int
i=0,*j;
定义了一个整型指针变量j,j++会跳过一个整型数据空间(4)
如:输入数据为:abcdefg
j=a;
此时j指向a所在的地址
j++;
j跳过四个字节,j指向e所在地址,因此,你的统计会不准确。
之所以输出21,只能说,你的程序运行中,扫描内存中的数据是以\0结尾的,而只有找到21*4的位置才发现\0,这是运行时的情况,不是必然的。
修改成char
*j;就好了。这样j++会跳过一个字符型数据空间(1),才能正确遍历数组!
C. 在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:
1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。
(3)编译程序输入字符串扩展阅读:
字符数组的输出:
(1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:
for(i=0;i<10;i++)
a[i]=putchar();
用printf()赋值:
for(i=0;i<10;i++)
printf("%c",a[i]);
输出结果为:
c program[2]
(2)用printf()的'%s'格式对数组赋值。还是对于数组a[10];
printf("%s",a);
输出结果为:
c program
参考资料来源:
网络-char
网络-字符数组
D. 编写程序,任意输入一个字符串(字符数小于100),输入一个字符,然后去掉字符串中的该字符
#include<stdio.h>
intmain(intargc,char*argv[]){
chars[101],i,j,k;
gets(s);
scanf("%c",&k);
j=i=0;
while(s[j++]=s[i++])
if(s[j-1]==k)
j--;
puts(s);
return0;
}
E. c语言中如何输入输出字符串
在<string.h>头文件中用字符串处理函数输入和输出,gest用来输入,puts用来输出。
字符串输入函数gets,从键盘键入以回车结束的字符串放入字符数组中,并自动加’ '。输入串长度应小于字符数组维数,字符串中可以包含空格。
字符串输出函数puts,向显示器输出字符串(输出完,自动换行,即用' '替'