C语言编程题在屏幕上输入一个字符串和一个要插入的字符

Python013

C语言编程题在屏幕上输入一个字符串和一个要插入的字符,第1张

直接看代码:

#include<stdio.h>

#include<string.h>

void main()

{

char str[100],str_new[100],t

char *p=str

int at=0

puts("输入字符串:")

gets(str)

puts("要插入的字符:")

t=getchar()/*.输入的字符被存放在键盘缓冲区中.直到按回车为止(回车字符也放在缓冲区中)其他字符会保留在键盘缓存区中,等待后续getchar调用读取*/

fflush(stdin)//刷输入新缓存区的内容

puts("插入的位置:")

scanf("%d",&at)

if(at>strlen(str))

{

puts("输入长度应该小于字符串长度!")

return

}

int j=0

for(int i=0str[i]!=0i++)//新的字符串在这个for()生成

{

if(i==at-1)

str_new[j++]=t

str_new[j++]=str[i]

}

str_new[j]='\0' 

    puts(str_new)

}

这里使用生成新数组的for循环较简洁,但是要新定义一个数组,有一定的系统开销,读者也可以用其它的方法。

有多种情况会发生这种现象,不过这种情况常见于安全软件对程序的检测,从而保护操作系统。

其原理大概是:当C语言编译运行程序时,安全软件会起到保护系统的功能,会自行对该程序进行无显示的扫描检测。这种对程序扫描的操作是看不到的。

判断方法:

退出安全软件(包含系统自带的安全软件和第三方安全软件),至少等待几秒的时间(因为安全软件的退出需要关闭一系列的监控,大概需要几秒以上)。

此时运行C语言的程序,看看还会不会出现这种情况。

如果还存在延迟,可以尝试关闭系统的防火墙(这种情况不常见)。

如果退出安全软件后没有出现延迟现象,说明是安全软件的问题,此时可以按照下面的方法进行操作。

在安全软件中添加保护规则,这里以360安全卫士为例,其他的安全软件类似:

打开安全卫士,打开【设置】:

打开【设置】

打开【安全防护中心】选项:

打开【安全防护中心】选项

在【安全防护中心】选项中,选择【开发者模式】选项:

选择【开发者模式】

为程序代码的路径添加到保护规则中:

打勾,新增路径,确定

此时再运行程序就不会出现输入延迟的现象。

如果还有疑问,可随时追问。

话不多说,直接写代码,按照你说的我理解为:输入没有限制的字符数,输入完了用屏幕显示出来,每一个字符中间都要有一个空格作为间隔,对吗?,代码如下:

#include<stdio.h>

void

main()

{

int

x,y=0

char

*a="123456"//在这个“”里面存放你想输出的字符,就可以了,接下来用for输出。

for(x=0a[y]!=0x++)

{

printf("%c

",a[y])

y++

}

getchar()

}