我写了一个程序,但运行怎么也不正常
#include<stdio.h>
void main()
{
char sf;
scanf("%s",&sf);
printf("%s",sf);
getch();
}
救命啊……我已经改成这样了,可还是不行。无论输入什么,输出的结果都类似于“ termination”加上三个字符的乱码。
#include<stdio.h>
void main()
{
char sf[100];
gets(sf);
printf("%s",sf);
getch();
}
在C语言中输入字符串后然后打印出来的编程方法如下:
1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。
2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。
3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。
4.最终运行程序,即可成功实现输入字符串,然后原样在屏幕中输出字符串。
扩展资料:
1.gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
2.puts()函数用来向标准输出设备(屏幕)输出字符串并换行,具体为:把字符串输出到标准输出设备,将'\0'转换为回车换行。其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。
参考资料:
在C语言中实现用键盘输入一个字符串,并打印出来,代码如下:
#include <stdio.h>
void main()
{
char array[100];
printf("please input the string: \n");
scanf("%s", array);
printf("%s\n",array);
}
扩展资料:
键盘输入一个字符串打印出来,用java语言实现:
public static void main(String[] args) {
System.out.println("请输入字符串:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine();
System.out.println(str);
}
catch (IOException e) {
e.printStackTrace();
}
}
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:
1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。
2、gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。
3、接着用puts()函数输出之前我们从键盘读取的字符串。括号内为字符串数组的名字,要与前面的保持一致。
4、然后点击运行,得到以下结果即为正确。
扩展资料:
字符数组的输出:
(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
参考资料来源:
本回答被网友采纳乱码的产生是因为你未初始化sf[100]
修改为:
#include
#include //strlen的调用
main()
{
int n,i;
char a[20]={0}; //初始化数组
printf("please input a string:");
gets(a); //从键盘读入字符串
n=strlen(a); //计算输入的数组长度
printf("%d\n",n);
for(i=n-1;i>=0;i--)
putchar(a[i]); //倒序输出字符串
putchar('\n');
}
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
本回答被网友采纳首先,你代码中有一个逻辑错误,即char sf;这是定义单字符,而想要定义字符串可使用字符数组,即将char sf;改为 char sf[101] 即可。(数组大小可根据字符串大小需求进行更改)
正确代码:
#include<stdio.h>
void main()
{
char sf[101];
scanf("%s",&sf);
printf("%s",sf);
getch();//这行可删可不删
}
扩展内容:
字符数组:
字符数组是指用来存放字符数据的数组。其定义的一般形式为: char 数组名[数据长度] 。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。C语言中没有字符串类型,字符串是存放在字符型数组中的
用来存放字符数据的数组称为字符数组。字符数组中的一个元素存放一个字符。定义字符数组的方法与定义数值型数组的方法类似。
字符数组定义:
其定义的一般形式是:char 数组名[数据长度]
例如:
char c[10];
c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
以上定义了c为字符数组,包含10个元素。
由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,例如:
int c[10];
但这时每个数组元素占2个字节的内存单元,浪费存储空间。 [1]
字符数组也可以是二维或多维数组,例如:
char c[5][10];
即为二维字符数组。
资料参考:字符数组 - 百科
本回答被网友采纳在C语言中如何实现用键盘输入一个字符串,并打印出来?
1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4.最终运行程序,即可成功实现输入字符串,然后原样在屏...
在C语言中如何实现用键盘输入一个字符串,并打印出来?
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。2、gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。3、接着用puts()函数输出之前我们从键盘读取的字符串。括号内为...
在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中实现用键盘输入字符串并打印的方法步骤如下:首先,需定义一个数组空间用于存放字符串,例如分配100个数组单元。接着,使用gets()函数读取键盘输入的字符串,调用格式为gets(字符数组名)。然后,应用puts()函数输出之前读取的字符串内容,使用方法为puts(字符数组名)。最后,运行程序,即可成功实...
在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中输入并打印字符串的编程方法如下:定义一个存放字符串的数组空间,比如为字符串分配100个数组空间。使用gets()函数获取键盘输入的字符串,输入格式为gets(定义的字符数组名)。使用puts()函数输出之前输入的字符串,输出格式为puts(定义的字符数组名)。运行程序后,成功实现输入字符串并原样在屏...
c语言 如何从键盘输入字符串???
c语言从键盘输入字符串的步骤如下:1.首先我们新建一个dev C++的项目。2.接下来在项目中新建C语言程序文件。3.然后在C语言文件中声明一个字节数组。4.接下来我们通过printf函数提示用户输入字符串,通过scanf接收用户输入的字符串。5.接着在通过printf函数输出用户输入的内容。6.最后运行C语言程序,我们...
如何在C语言中实现输入一个字符串,然后按照指定顺序输出字符字串。
本人楼主意思的理解如下:include<stdio.h> int main(){ int n;string a[4]; \/\/string 为字符串类型 printf("请输入您要输出的第n个字符串");scanf("%d",&n);printf("%s\\t",a[n-1]);return 0;}
C语言上中怎么样直接输入输出一个字符串
C语言中字符串的输入和输出主要有两种方式:输入使用:scanf("%s",a);对应的输出使用:printf("%s\\n",a);输入使用:gets(b);对应的输出使用:puts(b);字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。在...
c语言从键盘输入一字符串
int main(){ char str[100];long long an[100];int cnt=0,i=0,f=0;printf("Please input a string:");gets(str);while(str[i]){ if(str[i]>='0'&&str[i]<='9'){ if(f==1){ an[cnt]=an[cnt]*10+str[i]-'0';} if(f==0){ cnt++;f=1;an[cnt]=str[i]-'0'...
C语言编程:从键盘中输入一个英文字符串
\/\/逐个字符输入字符串,可以输入int可以表示的最大值个字符 printf("请输入任意个字符:\\n");while(true){ scanf("%c",&input);if(input != '#'){ if((input >= 'A' && input <= 'Z') || (input >= 'a' && input <= 'z')){ if(charNum > strSize){ strSize += 100;s...
如何用C语言,从键盘输入一个字符串,将其按逆序存入另一个字符数组中并...
以一个8为字符串为例:代码如下 include<stdio.h> int main(){ int i,j;char ch1[8],ch2[8];for(i=0;i<8;i++){ printf("请输入第%d个字符",i);scanf("%c",&ch1[i]);fflush(stdin);} for(j=0;j<8;j++){ ch2[j]=ch1[7-j];printf("%c",ch2[j]);} } ...