for循环初始化无效

#include<stdio.h>
#include<stdlib.h>
#define MAX_ROW 50
#define MAX_COL 50

int main(){
int r,c,n,q; //r行c列,起始为1行1列
char order[3]; //命令名称
int total_times=0;
int arr[MAX_ROW][MAX_COL]; //arr[0][0]表示第一行第一列,数值是1111

while(scanf("%d%d",&r,&c)!=EOF){
if(r==0 && c==0){
break;
}

//初始化
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
arr[i][j]=(i+11)*100+j+11;
}
}

scanf("%d",&n); //输入命令个数

while(n--){
scanf("%s",order);

if(order[0]=='E' && order[1]=='X'){
int r1,c1,r2,c2;
scanf("%d%d%d%d",&r1,&c1,&r2,&c2);
int position1=(r1+11)*100+c1+11;
int position2=(r2+11)*100+c2+11;

for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
if(arr[i][j]==position1){
arr[i][j]=position2;
}
}
}

for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
if(arr[i][j]==position2){
arr[i][j]=position1;
}
}
}
}

else if(order[0]=='D' && order[1]=='R'){
int times;
scanf("%d",×);
while(times--){
int dr; //delete row
scanf("%d",&dr);
for(int i=0;i<r;i++){
if((arr[i][0]/100)==(dr+10)){
for(int kk=0;kk<c;kk++){
arr[i][kk]==0;
}
for(i++;i<r;i++){
for(int k=0;k<c;k++){
arr[i][k]-=100;
}
}
}
}
}
}

else if(order[0]=='D' && order[1]=='C'){
int times;
scanf("%d",×);
while(times--){
int dc; //delete column
scanf("%d",&dc);
for(int i=0;i<c;i++){
if(arr[0][i]%100==(dc+10)){
for(int j=0;j<r;j++){
arr[j][i]==0;
}
for(;i<c;i++){
for(int j=0;j<r;j++){
arr[j][i]-=10;
}
}
}
}
}
}

else if(order[0]=='I' && order[1]=='R'){
int times;
scanf("%d",×);
while(times--){
int ir; //insert row
scanf("%d",&ir);
for(int i=0;i<r;i++){
if(arr[i][0]/100==(ir+10)){
for(;i<r;i++){
for(int j=0;j<c;j++){
arr[i][j]+=100;
}
}
}
}
}
}

else{ //"IC"
int times;
scanf("%d",×);
while(times--){
int ic; //insert column
scanf("%d",&ic);
for(int i=0;i<c;i++){
if(arr[0][i]%100==(ic+10)){
for(;i<r;i++){
for(int j=0;j<c;j++){
arr[j][i]+=10;
}
}
}
}
}
}
}


scanf("%d",&q);//查询
while(q--){
int row;
int column;

scanf("%d%d",&row,&column);
int tmp=arr[row-1][column-1];
if(tmp==0){
printf("Cell data in (%d,%d) GONE",row,column);
}
else{
printf("Cell data in (%d,%d) GONE",tmp/100-10,tmp%100-10);
}
}

total_times++;
}

return 0;
}


这是一道ACM题,Spreadsheet Tracking,现有程序跑不起来,我还没改完,很可能有错误。
在60行的时候初始化变量kk=0,但是我在用gdb调试的时候,得到的结果是一个很奇怪的数字,不知道为什么其值不是0?(我的c标准不是C90,从前面的代码可以看出。)

这个题的输入:
Sample Input
7 9
5
DR 2 1 5
DC 4 3 6 7 9
IC 1 3
IR 2 2 4
EX 1 2 6 5
4
4 8
5 5
7 8
6 5
0 0
我们只要输入到DR 2 1就可以查看了那个kk的值,求大神帮帮忙。衷心感谢
(如果要说明一下题目意思,我可以再补充信息)
...全文
249 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Z_Ascll 2018-09-15
  • 打赏
  • 举报
回复
emmmmmm你少打了个“=”

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧