C 编程指针——为什么我的值会改变?

标签 c pointers pthreads

每当我执行 ./thread 88 90 92 时,我都会得到这个

4

46

56

57

54

57

46

我不知道为什么。它应该打印出argc,应该是3(它说4),然后打印出我给它的3个数字,即88 90 92。然后它应该打印出90 92 88。我是否弄乱了我的指针?这是我自己做的第一个C程序。非常感谢您的建议!谢谢!

#include <stdio.h>
#include <string.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>

int avg;
int max = 0;
int min;
int j;


int main(int argc, char* argv[]){
    printf("%d\n", argc);
    j = argc;


    printf("%d\n", avg);
    printf("%d\n", max);
    printf("%d\n", min);



}

最佳答案

第一个元素是程序名称。 argc 为 4,您想要的值为 [1] 到 [3](跳过 0)。

关于C 编程指针——为什么我的值会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26353083/

相关文章:

c - 使用 pthreads 在结构中传递函数指针

c - 多线程环境中完整进程的 block 信号

c - 看K&R书时signed和unsigned的隐式转换混淆

c++ - 需要帮助更改 char* 中的单个字符

C - 浮点异常(核心转储)

c - 在两个增量和间接运算符的情况下,C 如何处理运算优先级?

http - Golang 中的 "Invalid memory address"使用 ioutil.ReadAll()

c++ - ffmpeg(-mt) 和 TBB

char * 和整数之间可以相互转换吗?

c++ - 如何获取 __COUNTER__ 的最后一个值