c语言和java下的“int a=1;”是否有所不同?

c语言和java下的“int a=1;”是否有所不同?

img

img

上面是c的,可以运行;下面是java,运行不了。

java 那里用一对大括号括起来 就可以了,具体原因应该跟java的语法规则有关,测试代码如下:

#include <stdio.h>

int main(void){
    
    if(1){
        int a=1;
        printf("a=%d\n",a);
    }
    
    return 0;
} 


public class intaTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        int b=1;
        if(b==1) {
            int a=1;
            System.out.println("a="+a);
        }
            
        
        
    }

}


img

一样的意思

运行不了?是编译就报什么错了吗