[问题] 有关字串的问题

楼主: hugovan (我是呼狗文)   2015-04-04 01:48:15
开发平台(Platform): C
问题(Question):有关字串矩阵的问题
喂入的资料(Input):
小弟最近才开始自学C语言,对于字串这边有很大的疑问
假设我今天令
char test[5][5]
scanf "%s",test[0]
输入test
这时候资料里面应该是
0 1 2 3 4
0 t e s t
1
2
3
4
对吧?
但是我网上看到有人的程式码是
#include <stdio.h>
char stu[10][10];
int n;
int sch[110];
int main() {
int i, k, t;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%s %d %d %c %c %d", stu[i], &stu[i][0], &stu[i][1],
&stu[i][2], &stu[i][3], &t);
stu[i][4] = t + 1;
}
for (i = 0; i < n; i++) {
if (stu[i][0] > 80 && stu[i][4] > 1) sch[i] += 8000;
if (stu[i][0] > 85 && stu[i][1] > 80) sch[i] += 4000;
if (stu[i][0] > 90) sch[i] += 2000;
if (stu[i][0] > 85 && stu[i][3] == 'Y') sch[i] += 1000;
if (stu[i][1] > 80 && stu[i][2] == 'Y') sch[i] += 850;
}
在这个程式里面,他的stu[i][0],不就指向当初输入的stu[i]的第一个字母吗??
但是这边程式也没出错
希望板上有没有人能够解释一下
小弟GOOGLE了很久都看不太懂啊~~~~
作者: Push5F (帐号已卖)   2015-04-04 01:57:00
char str[10] ,str 是? &str[10]是?
作者: ckvir (ckvir)   2015-04-04 02:08:00
里面资料不是长那样把
作者: dirkc (3781615)   2015-04-04 07:46:00
你的理解没错,他程式有逻辑上的不合理例如%s将其当字串空间使用,%d又将第一字符空间当整数使用
作者: TobyH4cker (Toby (我要当好人))   2015-04-05 04:37:00
你在解题目吗?把题目给出来比较有帮助:" target="_blank" rel="nofollow">
另外他的解答你也抄错 http://pastebin.com/YBbeEn8G输入的名字是存在stu[i] + 5,输入的数字(成绩)必不会大于255(0xFF),因此存在char不会有问题,以输入测资YaoLin 87 82 Y N 0为例,在stu[0]中会是0 1 2 3 4 5 6 7 8 9 100x87 0x82 Y N 0x00 Y a o L i n抱歉我忘了转16进位,87 82是十进制,分别是0x57 0x52

Links booklink

Contact Us: admin [ a t ] ucptt.com