2014-02-22 70 views
-2

是否有可能以一个结构变量的值赋给另一个结构体变量 这段代码正确 -混乱与C++结构变量

#include<iostream.h> 
struct s1 
{ 
    int a; 
    float b; 
    char c; 
} st1,st2,st3; 
int main() 
{ 
    struct s2{ 
      int x; 
      float y; 
      char z; 
     } ss1,ss2,ss3; 
     // Read & Initialize structures 
     ss2=ss1; 
     : 
     ss3.z=st1.c; 
      : 
} 
void func1() 
{ 
    ss2.x=st1.a; 
    ss3.y=st2.b; 
    ss1.z=st3.c; 
     : 
    ss1=ss3; 
} 

请清楚我的疑问,上面的代码是否正常与否

+5

_'asking'_编译器怎么样?请注意,[tag:turboC++]是一个stoneage编译器,可能会给你错误或误导性的答案! –

+3

这个问题似乎是无关紧要的,因为它是关于提问任何像样的现代C++编译器会立即澄清! –

+0

为什么涡轮增压 - 它没有涡轮增压!有点像国家自称民主 –

回答

0

ss2 = ss1;这将取决于编译器将允许一些编译器复制结构变量,有些则不允许。
ss2.x = st1.a; ss2结构对于main函数是本地的,并且它在funct1()中不可用,所以它必须抛出编译错误。

+0

谢谢你考虑我的问题。你是正确的抛出编译错误。这意味着我可以使用'ss2.x = st1.a;'如果编译器允许 – Vishal

+0

在funct1()中使用ss2结构,则应该声明struct struct s2 {int x; float y; char z; } ss1,ss2,ss3;主要以上 – devesh