相关疑难解决方法(0)

scanf_s抛出异常

为什么以下代码scanf_s在输入要放入结构的数字后到达第二个时抛出异常.

这绝不代表完整的链表实现.

scanf_s输入值后,不确定如何进入下一个?有任何想法吗?

编辑:更新后的代码与建议的解决方案,但仍获得了AccessViolationException第一之后scanf_s

码:

struct node
{
    char name[20];
    int age;
    float height;
    node *nxt;
};

int FillInLinkedList(node* temp)
{

int result;
temp = new node;

printf("Please enter name of the person");
result = scanf_s("%s", temp->name);

printf("Please enter persons age");
result = scanf_s("%d", &temp->age); // Exception here...

printf("Please enter persons height");
result = scanf_s("%f", &temp->height);

temp->nxt = NULL;
if (result >0)
    return  1;
 else return 0;
}

// calling code

int main(array<System::String ^> …
Run Code Online (Sandbox Code Playgroud)

windows exception visual-c++

3
推荐指数
1
解决办法
1750
查看次数

"int**k"是什么意思?

我是C编程语言的初学者.我在书上看到了一个代码:

#include<stdio.h>
int main(){
    int * * k, *a, b=100;

    a = &b;
    k = &a;
    printf("%d\n",* * k);
}
Run Code Online (Sandbox Code Playgroud)

我不知道的意思int * *k.这是整数指针还是值?它会指向什么?它包含什么/存储?这个变量有什么用?我怎么能理解这个表达方式?

c pointers pointer-to-pointer

3
推荐指数
1
解决办法
2106
查看次数

char**在ac程序中是什么意思,有人可以给出正确的解释吗

char**在ac程序中是什么意思,有人可以给出正确的解释吗?我正在查看与函数指针相关的排序指针,它有点令人困惑。

  int compare(const void* a,const void* b)
 {
  char** sa=(char**)a;
  char** sb=(char**)b;
  return strcmp(*sa,*sb);
 }
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
2
解决办法
1万
查看次数

C程序返回数组

我正在开发一个非常基本的程序,我希望将一个长度为2的整数数组返回到我的主程序块.我不能让它工作,我被告知我可能需要指针来做这件事.指针如何工作,我如何在我的程序中使用它?这是我目前的代码:

int[] return2();


int main() {

  int a[2];

  a = request();
  printf("%d%d\n", a[0], a[1]);


  return(0);
}

int[] request ()
{
  int a[2];

  a[0] = -1;
  a[1] = 8;

  return a;
}
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
252
查看次数

在 C 中打印指针的值时出错

我不得不打印一个指针的值:

int *p = 0;
printf("%d", *p); 
Run Code Online (Sandbox Code Playgroud)

上面的代码抛出异常。

所以我尝试了printf("%d", p),并且奏效了。

为什么它只在没有*?

c pointers

1
推荐指数
1
解决办法
43
查看次数

关于C程序char *指针的问题

有一个简单的C程序。

#include<stdio.h>

int main()
{
    char *s = "abcde";
    printf("%s\n", s);

    printf("%s\n", *s); /* This is wrong */
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我的想法:

  1. 变量schar *指向字符串的指针abcde。所以变量s是一个内存地址,而内存地址存储的是字符串abced

  2. %s函数中的格式字符串正在printf()格式化字符串。我不知道为什么s是字符串。该变量s是一个char *指针,并且*s是 的字符串abcde,不是吗?

c arrays string pointers

0
推荐指数
1
解决办法
5063
查看次数