c的高手看看我错在哪里!

来源:百度知道 编辑:UC知道 时间:2024/05/21 04:54:45
我是c和java的初学者 我在编辑java的时候总是要在命令提示符里面输入很多东西 所以我想用c来做一个小程序来达到这个目的!我是这样做的:
#include <stdlib.h>
#include <stdio.h>
main()
{
printf("请输入要编辑文件的名称");
char a[15];
scanf("%s",&a);
system("javac a.java");
system("javac a");
}
可是总是提示错误!我不知道错在什么地方!请各位高手指点一下!

这个程序应该这样写:

#include <stdlib.h>
#include <stdio.h>
main()
{
char a[15];
char cmd[100];
printf("请输入要编辑文件的名称");
scanf("%s",a); /*去掉&*/
sprintf(cmd,"javac %s.java",a);/*这与下面的要取舍其一*/
system(cmd);
sprintf(cmd,"javac %s",a);/*这与上面的要取舍其一*/
system(cmd);
}

把错误提示信息发过来

scanf("%s",&a);

这里错了

a本身就是地址,所以不需要加上&符号

在数组中,数组的第一个元素地址就是它的名称,如果要指定某个元素的地址,就可以加&符号,比如 &a[10]

a和&a[0]是一样的