宋老师您好:
“……,语句只能出现在{}括号中,而声明既可以出现在{}中也可以出现在所有{}之外。“
第一次,我将变量声明放在{}之外,
oldseedling@oldseedling-Thinkpad-T400:~$ gcc linux-c-16-2.2-01.c -o linux-c-16-2.2-01.out
linux-c-16-2.2-01.c: In function ‘main’:
linux-c-16-2.2-01.c:4: warning: unknown conversion type character 0xa in format
oldseedling@oldseedling-Thinkpad-T400:~$ vim linux-c-18-2.4-01.c
oldseedling@oldseedling-Thinkpad-T400:~$ gcc linux-c-18-2.4-01.c -o linux-c-18-2.4-01.out
linux-c-18-2.4-01.c: In function ‘main’:
linux-c-18-2.4-01.c:4: error: expected declaration specifiers before ‘hour’
linux-c-18-2.4-01.c:2: error: old-style parameter declarations in prototyped function definition
linux-c-18-2.4-01.c:6: error: ‘hour’ undeclared (first use in this function)
linux-c-18-2.4-01.c:6: error: (Each undeclared identifier is reported only once
linux-c-18-2.4-01.c:6: error: for each function it appears in.)
linux-c-18-2.4-01.c:6: error: ‘minute’ undeclared (first use in this function)
第二次,我将变量声明放在{}中,成功编译
附代码:
/*第一次开始*/
#include <stdio.h>
int main(void)
int hour, minute;
hour = 11,minute = 59;
{
printf("Crrent time is %d:%d\n", hour, minute);
}
/*第一次结束*/
/*第二次开始*/
#include <stdio.h>
int main(void)
{
int hour, minute;
hour = 11,minute = 59;
printf("Crrent time is %d:%d\n", hour, minute);
}
/*第二次结束*/谢谢指出,这里确实有歧义,准确说应该是在所有函数之外
如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!