2013-11-28 122 views
-3

这是我的代码,我想打印p1和p2的事件,...帮助..有在数组声明的任何问题.... IAM没有得到预期的结果...我的代码有什么问题....?

#include<stdio.h> 
#include<conio.h> 
    int main(){ 
int p1[8],p2[8]; 
int e,i,m1,m2; 
printf("no of events in p1 and p2"); 
scanf("%d",&e); 
printf("event of p1 which will send message:"); 
scanf("%d",&m1); 
printf("event of p2 which will receive message:"); 
scanf("%d",&m2); 
p1[1]=1; 
p2[1]=1; 
for(i=2;i<=e;i++) 
    { 
     if(i!=m2) 
     { 
      p1[i]=p1[i-1]+1; 
      p2[i]=p2[i-1]+1; 
     } 
     else{ 
     p2[i]=p1[m1]+1; 
     } 
    } 
    printf("Event of p1 are"); 
    for(i=1;i<e;i++) 
    { 
     printf("%d",p1[i]); 
    } 
    printf("Event of p2 are"); 

    for(i=1;i<e;i++) 
    { 
     printf("%d",p2[i]); 
    } 
return 0; 
} 

...帮助..是否有任何问题在数组声明....我的代码没有正常运行...

+1

你使用p [1],但你永远不会定义'p'array,只有'p1','p2'等等...... –

+0

@Noob_coder下一次更准确地说明你的意思是“我的代码不是正确运行“(它不会编译,它的行为如此,而不是预期的行为等) – Antonio

+0

那么,它有什么问题呢?你没有告诉我们。你没有告诉我们该怎么做。你没有告诉我们它究竟做了什么。您提供了伪造代码。将真正的程序粘贴到问题真的很难吗?很明显,在你把它降到最低限度之后。 –

回答

0

你没有定义ap数组。您定义的P1和P2作为阵列 可能是你的意思是

p1[1]=1; 
p2[1]=1; 
1

你没有什么所谓的p在你的代码 - 这样做:

p1[1]=1; 
p2[1]=1; 

p1[1]=1; 
p1[2]=1; 

而且,我不确定你是否初始化了e

+0

是的,但它有效,但当我想打印..for(i = 1; i

+0

你初始化了'e'吗? – Sadique

+0

是......... int e,i,m1,m2; –

0

你的任务是错误的。

p[1]=1;//prob 
p[2]=1;//prob 

应该

p1[1]=1; 
p2[1]=1; 
在我看来