|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 yexing 于 2020-4-4 16:36 编辑
原题:
我的代码:
- #include <stdio.h>
- #define MAX 1024
- int main()
- {
- char input[MAX]; //用于获取用户输入的字符串
- char str[3][3];
- char ch;
- char *pstr = str, *target = input;
- int i, j, temp;
-
- for (i = 0; (ch = getchar()) != '\n'; i++)
- {
- input[i] = ch;
- }
-
- temp = 0;
- for (i = 0; i < 3; i++)
- {
- for (j = 0; j < 3; j++)
- {
- *(*(pstr+i)+j) = *(target+temp);
- temp++;
- }
- }
-
- for (i = 0; i < 3; i++)
- {
- for (j = 0; j < 3; j++)
- {
- printf("%c ", **(pstr+i)+j)
- }
- printf("\n");
- }
-
- return 0;
- }
复制代码
报错提示:
注:第23行标红
请问怎么解决报错呢?代码刚刚编写,还未编译测试,如果还有bug,也请大佬指出来
*(*(pstr+i)+j) = *(target+temp);
左边这是数组指针的写法,而你定义的仅仅是一个普通的指针而已。
应该写成*(pstr+i*3+j) = *(target+temp);
32行的printf内也应该这样写
|
|