【发布时间】:2017-08-14 11:22:50
【问题描述】:
顺便说一句,我是一名 PHP 程序员,想测试编写一个 C 程序,向其发送参数并使用shell_exec() 在 PHP 中使用它的输出。
无论如何,我编写这段代码只是为了将两个数字相加:
#include <stdio.h>
int leftop, rightop, result;
int main(int argc, char *argv[])
{
leftop = (int) argv[1];
rightop = (int) argv[2];
result = leftop + rightop;
printf("The result of %i add %i = %i\n", leftop, rightop, result);
getchar();
return 0;
}
我使用MinGW 使用gcc -o main.c mycprogram.exe 编译它。
当我运行程序时(使用shell_exec() (php) 或从命令行),我得到以下结果。
./mycprogram.exe 25 25
The result of 7150824 add 7149184 = 14300008
然后我再次运行它并得到:
The result of 6692040 add 6692072 = 13384112
显然我希望结果是50。
为什么我没有得到正确的结果?
【问题讨论】:
标签: c pointers command-line-arguments argv