void main(int argc, char* argv[])
{
char x , R='(' , G=')';
for(x='A' ; x<= 'Z'; x++)
printf("%c%c%c%c",x,R,x+32,G);
}
问题一:上面的代码中我很不明白的是for(x='A' ; x<= 'Z'; x++)为什么能构成一个循环?前面的x不是定义为字符串的吗?为什么能循环能,还有,为什么能循环打印出26个字母来呢?
问题二:为什么用vc++创建一个空白应用程序的时候总是出现#include "stdafx.h" 这个语句是做什么用的stdafx.h文件有什么作用?同时main函数也定义为main(int argc, char* argv[])请问int argc, char* argv[]是做什么用的?为什么这样定义?
谢谢了!!
10 个解决方案
#1
你找本C的书好好看看吧,看来你不懂的还很多。
#2
我只会问题一。:)
因为在C语言中,字符数据在内存中是以ASCII码存储的。比如字符'A'的ASCII码为65,'90'的ASCII码为90。所以字符型数据和整型数据通用,也可以进行算术计算,相当于对它们的ASCII码进行计算。
因为在C语言中,字符数据在内存中是以ASCII码存储的。比如字符'A'的ASCII码为65,'90'的ASCII码为90。所以字符型数据和整型数据通用,也可以进行算术计算,相当于对它们的ASCII码进行计算。
#3
sorry,'Z'的ASCII码为90。
也就是说:'Z'='A'+25.
也就是说:'Z'='A'+25.
#4
看来你对c/c++懂的是太少了。真的该好好看看书了。
这种问题我们怎么回答啊。
这种问题我们怎么回答啊。
#5
谢谢hermit1978(大隐隐于市)
谁知道问题二的!~~~~~~~~~~~`
to:allen_wang(allen)
以前学过点c的,象上面的二个问题,以前我是知道怎么回事的, 但是现在忘记了~~~~~
谁知道问题二的!~~~~~~~~~~~`
to:allen_wang(allen)
以前学过点c的,象上面的二个问题,以前我是知道怎么回事的, 但是现在忘记了~~~~~
#6
问题二:为什么用vc++创建一个空白应用程序的时候总是出现#include "stdafx.h" 这个语句是做什么用的stdafx.h文件有什么作用?同时main函数也定义为main(int argc, char* argv[])请问int argc, char* argv[]是做什么用的?为什么这样定义?
#7
argc 是表示 输入参数个数 字符串数组argv用来接收参数 你在命令行运行时 要输入参数就靠他传递进去 stdafx.h w我也不大清楚 我想可能是于stdio。h 有类似的作用吧!我曾经打开过stdafx.h 里面 就包含了stdio.h 你也可以在里面加入别的include语句 方便别的文件省得每个都写好长一段 include
#8
C程序总是从main函数开始执行。main函数的原型是:
int main(int argc, char *argv[]) ;
其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。7 . 4节将对命令行
参数进行说明。
当内核起动C程序时(使用一个exec函数,8.9节将说明exec函数),在调用ma n前先调用一
个特殊的起动例程。可执行程序文件将此起动例程指定为程序的起始地址——这是由连接编辑
程序设置的,而连接编辑程序则由C编译程序(通常是cc )调用。起动例程从内核取得命令行参
数和环境变量值,然后为调用main函数作好安排
当执行一个程序时,调用e x e c的进程可将命令行参数传递给该新程序。这是UNIX shell的
一部分常规操作。在前几章的很多实例中,我们已经看到了这一点。
实例
程序7 - 2将其所有命令行参数都回送到标准输出上(UNIX echo(1)程序不回送第0个参数)。
编译此程序,并将其可执行代码文件定名为e c h o a rg,则:
$ ./echoarg arg1 TEST foo
argc:4
argv[0]: ./echoarg
argv[1]: arg1
argv[2]: TEST
argv[3]: foo
ANSIC和POSIX.1都要求argv[argc] 是一个空指针。
Microsoft C也类似
int main(int argc, char *argv[]) ;
其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。7 . 4节将对命令行
参数进行说明。
当内核起动C程序时(使用一个exec函数,8.9节将说明exec函数),在调用ma n前先调用一
个特殊的起动例程。可执行程序文件将此起动例程指定为程序的起始地址——这是由连接编辑
程序设置的,而连接编辑程序则由C编译程序(通常是cc )调用。起动例程从内核取得命令行参
数和环境变量值,然后为调用main函数作好安排
当执行一个程序时,调用e x e c的进程可将命令行参数传递给该新程序。这是UNIX shell的
一部分常规操作。在前几章的很多实例中,我们已经看到了这一点。
实例
程序7 - 2将其所有命令行参数都回送到标准输出上(UNIX echo(1)程序不回送第0个参数)。
编译此程序,并将其可执行代码文件定名为e c h o a rg,则:
$ ./echoarg arg1 TEST foo
argc:4
argv[0]: ./echoarg
argv[1]: arg1
argv[2]: TEST
argv[3]: foo
ANSIC和POSIX.1都要求argv[argc] 是一个空指针。
Microsoft C也类似
#9
argc argv名字是可以更改的,一般都这么写
也可以写成类似:
int main(int argC,char ** argV);
也可以写成类似:
int main(int argC,char ** argV);
#10
up
#1
你找本C的书好好看看吧,看来你不懂的还很多。
#2
我只会问题一。:)
因为在C语言中,字符数据在内存中是以ASCII码存储的。比如字符'A'的ASCII码为65,'90'的ASCII码为90。所以字符型数据和整型数据通用,也可以进行算术计算,相当于对它们的ASCII码进行计算。
因为在C语言中,字符数据在内存中是以ASCII码存储的。比如字符'A'的ASCII码为65,'90'的ASCII码为90。所以字符型数据和整型数据通用,也可以进行算术计算,相当于对它们的ASCII码进行计算。
#3
sorry,'Z'的ASCII码为90。
也就是说:'Z'='A'+25.
也就是说:'Z'='A'+25.
#4
看来你对c/c++懂的是太少了。真的该好好看看书了。
这种问题我们怎么回答啊。
这种问题我们怎么回答啊。
#5
谢谢hermit1978(大隐隐于市)
谁知道问题二的!~~~~~~~~~~~`
to:allen_wang(allen)
以前学过点c的,象上面的二个问题,以前我是知道怎么回事的, 但是现在忘记了~~~~~
谁知道问题二的!~~~~~~~~~~~`
to:allen_wang(allen)
以前学过点c的,象上面的二个问题,以前我是知道怎么回事的, 但是现在忘记了~~~~~
#6
问题二:为什么用vc++创建一个空白应用程序的时候总是出现#include "stdafx.h" 这个语句是做什么用的stdafx.h文件有什么作用?同时main函数也定义为main(int argc, char* argv[])请问int argc, char* argv[]是做什么用的?为什么这样定义?
#7
argc 是表示 输入参数个数 字符串数组argv用来接收参数 你在命令行运行时 要输入参数就靠他传递进去 stdafx.h w我也不大清楚 我想可能是于stdio。h 有类似的作用吧!我曾经打开过stdafx.h 里面 就包含了stdio.h 你也可以在里面加入别的include语句 方便别的文件省得每个都写好长一段 include
#8
C程序总是从main函数开始执行。main函数的原型是:
int main(int argc, char *argv[]) ;
其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。7 . 4节将对命令行
参数进行说明。
当内核起动C程序时(使用一个exec函数,8.9节将说明exec函数),在调用ma n前先调用一
个特殊的起动例程。可执行程序文件将此起动例程指定为程序的起始地址——这是由连接编辑
程序设置的,而连接编辑程序则由C编译程序(通常是cc )调用。起动例程从内核取得命令行参
数和环境变量值,然后为调用main函数作好安排
当执行一个程序时,调用e x e c的进程可将命令行参数传递给该新程序。这是UNIX shell的
一部分常规操作。在前几章的很多实例中,我们已经看到了这一点。
实例
程序7 - 2将其所有命令行参数都回送到标准输出上(UNIX echo(1)程序不回送第0个参数)。
编译此程序,并将其可执行代码文件定名为e c h o a rg,则:
$ ./echoarg arg1 TEST foo
argc:4
argv[0]: ./echoarg
argv[1]: arg1
argv[2]: TEST
argv[3]: foo
ANSIC和POSIX.1都要求argv[argc] 是一个空指针。
Microsoft C也类似
int main(int argc, char *argv[]) ;
其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。7 . 4节将对命令行
参数进行说明。
当内核起动C程序时(使用一个exec函数,8.9节将说明exec函数),在调用ma n前先调用一
个特殊的起动例程。可执行程序文件将此起动例程指定为程序的起始地址——这是由连接编辑
程序设置的,而连接编辑程序则由C编译程序(通常是cc )调用。起动例程从内核取得命令行参
数和环境变量值,然后为调用main函数作好安排
当执行一个程序时,调用e x e c的进程可将命令行参数传递给该新程序。这是UNIX shell的
一部分常规操作。在前几章的很多实例中,我们已经看到了这一点。
实例
程序7 - 2将其所有命令行参数都回送到标准输出上(UNIX echo(1)程序不回送第0个参数)。
编译此程序,并将其可执行代码文件定名为e c h o a rg,则:
$ ./echoarg arg1 TEST foo
argc:4
argv[0]: ./echoarg
argv[1]: arg1
argv[2]: TEST
argv[3]: foo
ANSIC和POSIX.1都要求argv[argc] 是一个空指针。
Microsoft C也类似
#9
argc argv名字是可以更改的,一般都这么写
也可以写成类似:
int main(int argC,char ** argV);
也可以写成类似:
int main(int argC,char ** argV);
#10
up