C语言中如何用gets();语句来接收一个二维数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中如何用gets();语句来接收一个二维数组相关的知识,希望对你有一定的参考价值。

    gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\\0’空字符,并由此来结束字符串。

    因为gets函数是以换行符为分隔,所以用一层循环即可读取一个二维数组。对于每行字符串,使用sscanf读取每个数。

    例如:

    char s[100];
    int a[3][3],i;for(i=0;i<3;i++)
       gets(s);
       sscanf(s,"%d%d%d",s[i],s[i]+1,s[i]+2);

参考技术A int a[10][10],i;
for(i=0;i<10;i++)
gets(a[i]);本回答被提问者采纳
参考技术B char str[][];
gets(str);

java中如何用json接收一个list?

比如说我用了struts2 在action中得到一个list
在后台如何传递到前台?以及在前台jsp页面如何接收这个list?

可以使用三种方式,用json接收一个list,方法如下:

1、使用org.json.JSONArray包:

JSONArray json = new JSONArray();
   for(User u : list)
       JSONObject jo = new JSONObject();
       jo.put("id", u.getId());
       jo.put("title", u.getName());
       json.put(jo);
   

2、使用net.sf.json包下JSONArray的静态方法:fromObject(list), 这是网上大多是直接用此方法快捷转换JSON,但是对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据:

JSONArray json = JSONArray.fromObject(list);

3、使用google的gson,将list转为json字符串:

Gson gson = new Gson(); 
String str = gson.toJson(list);
参考技术A list可以直接传到前台的,用c标签 <c:forEach>标签可以直接得到,但在action中要写该list的有关的get set方法本回答被提问者采纳 参考技术B 第一种方法 在action类中 声明一个list集合如:private List list;生成getter和setter方法;
然后通过方法action的方法给list赋值;然后页面通过struts2标签接受即可;
<s:iterator var="ent" value="list">
<s:if test="%#statu.odd">
<font color="red"><s:property value="#ent" />
</font>
</s:if>
<s:else>
<s:property value="#ent" />
</s:else>
</s:iterator>

第二种方法 首先 在action类中;private String jsonData;生成getter和setter方法;
通过json 驱动包带的JSONArray json = JSONArray.fromObject(list);转换成json格式
setJsonData(json.toString());
在你返回成功跳到的页面 定义 :$(jsonData);
然后通过ajax 接受 就可以了!
建议使用第一种方法

以上是关于C语言中如何用gets();语句来接收一个二维数组的主要内容,如果未能解决你的问题,请参考以下文章

在C语言中如何用把二维数组中的一行贼给一维数组?

在C语言中如何用把二维数组中的一行贼给一维数组?

C语言中如何用名字存数组,用时间函数模拟随机,实现随机输出一个姓名。

C语言如何用GETS输入2维数组

C语言字符型二维数组用scanf和gets如何输入,举个例谢谢

C语言如何求一个二维数组有几行,还有为啥会提示gets()是一个未定义的标识符?