#include<stdio.h> #include<windows.h> DWORD Sum1,Sum2; DWORD WINAPI Summation1(LPVOID Param) { DWORD Upper=*(DWORD*)Param; for(DWORD i=0;i<=Upper;i++) Sum1+=i; return 0; } DWORD WINAPI Summation2(LPVOID Param) { DWORD Upper=*(DWORD*)Param; for(DWORD i=0;i<=Upper;i++) Sum2+=i; return 0; } int main(int argc,char *argv[]) { DWORD ThreadId1,ThreadId2; HANDLE ThreadHandle1,ThreadHandle2; HANDLE Thread[2]; int Param1,Param2; Param1 = atoi(argv[1]); if(Param1<0) { printf("An interger parameter is required.\n"); return -1; } Param2 = atoi(argv[2]); if(Param2<0) { printf("An interger parameter is required.\n"); return -1; } ThreadHandle1 = CreateThread( NULL, 0, Summation1, &Param1, 0, &ThreadId1); ThreadHandle2 = CreateThread( NULL, 0, Summation2, &Param2, 0, &ThreadId2); Thread[0]=ThreadHandle1; Thread[1]=ThreadHandle2; if((ThreadHandle1!=NULL)&&(ThreadHandle2!=NULL)) { printf("ThreadId1=%d\n", ThreadId1); printf("ThreadId2=%d\n", ThreadId2); WaitForMultipleObjects(2,Thread,TRUE,INFINITE); CloseHandle(ThreadHandle1); CloseHandle(ThreadHandle2); printf("sum1=%d\n", Sum1); printf("sum2=%d\n", Sum2); } return 0; }为什么运行上述代码我只得到Press any key to continue
时间: 2023-07-14 14:14:13 浏览: 37
运上述代码只得到 Press any key to continue 的原因是没有给程序传递命令行参数,导致参数 Param1 和 Param2 都是默认值0,所以线程函数没有执行任何计算,Sum1 和 Sum2 的值都是0。请在命令行中输入两个正整数作为程序的命令行参数再运行程序。例如:Summation.exe 1000 2000。
相关问题
#include <stdio.h> \\DUNWEICHAO
引用: "#include <stdio.h>" 是C语言中的预处理指令,用于包含标准输入输出库(stdio.h)的内容[^1]。引用:同样的,"#include <stdio.h>" 也是C语言中的预处理指令,用于包含标准输入输出库(stdio.h)的内容[^2]。
在C语言中,stdio.h是一个头文件,它包含了一些用于输入和输出的函数、宏和定义。通过包含这个头文件,我们可以使用标准输入输出函数(如printf和scanf)来进行输入和输出操作。stdio.h提供了一些常用的函数,例如文件操作、字符输入输出、格式化输入输出等等。这个头文件是C语言中最常用的头文件之一,几乎所有的C程序都会包含它。
所以,当我们在C语言程序中使用"#include <stdio.h>"时,我们可以使用stdio.h中定义的函数和宏来进行输入和输出操作。
范例:在C语言中使用stdio.h进行输出操作。
```c
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
```
#include<stdio.h>和 #include "stdio.h" 有啥区别
在C语言中,#include是一个预处理指令,用于在编译程序之前将指定的头文件包含到源代码中。其中,#include <stdio.h>和#include "stdio.h"都是用来包含头文件<stdio.h>的指令。但它们有以下几点区别:
1. #include <stdio.h>是从系统目录中查找头文件,而#include "stdio.h"是从当前目录中查找头文件。
2. 如果在当前目录和系统目录中都存在同名的头文件,则#include "stdio.h"会优先使用当前目录中的头文件,而#include <stdio.h>则会使用系统目录中的头文件。
3. 如果使用了编译器的特殊选项,如-I选项,指定了头文件的搜索路径,则#include <stdio.h>会在指定的路径中查找头文件,而#include "stdio.h"仍然会在当前目录中查找头文件。
综上所述,#include <stdio.h>和#include "stdio.h"的主要区别在于它们查找头文件的方式不同。如果你需要包含C标准库的头文件,则通常使用#include <stdio.h>;如果你需要包含自己编写的头文件,则通常使用#include "stdio.h"。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)