我正在写一个简单的程序c,我遇到了这个错误
分段故障(核心转储)
我知道Segmentation fault由于内存访问冲突而发生错误.但是我无法弄清楚下面简单的程序在哪里发生了坏的内存访问.
#include<stdio.h>
int main()
{
int a = 0;
scanf("%d", a);
printf("%d\n", a);
return(0);
}
Run Code Online (Sandbox Code Playgroud)
我在这里在线编译,在代码块中它也给出了同样的错误.
int main(void) {
printf("abc");
fork();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
此代码的输出是:
abcabc
Run Code Online (Sandbox Code Playgroud)
为什么打印两次,即使fork系统调用在printf语句之后?
此代码在ng-repeat循环中.表达式不是在浏览器内部进行评估,整个语句也是在浏览器中.
<i ng-class="'icon-ok' : student.is_passed == 'passed', 'icon-remove': student.is_passed == 'failed'"></i>
Run Code Online (Sandbox Code Playgroud) 我想知道如何转换double*到float*,并float*以double*C或C++?谢谢.我尝试使用(float*)和使用(double*),但它似乎没有我的观察工作.
我想在C中编写一个程序来填充数组p [MAX] [N]的字符串
我用过这个,但我不知道当我输入时哪个是空字符串.
#include <stdio.h>
#include <string.h>
#define R 3
#define C 8
int main()
{
int i;
char strings[R][C];
printf("***Table of Strings - Names***\n\n");
for(i=0;(i<R && gets(strings[i]));i++)
;
if(i==R)
printf("\n**Table Full - input terminated \n");
for(i=0;i<R;i++)
puts(strings[i]);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 考虑一下该计划
#include<stdio.h>
int main()
{
char a[] = "hello";
printf("%c", *(a + 5));
printf("%c", *(a + 6));
printf("%c", *(a + 99));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这里第一个printf是打印NULL还是垃圾值?最后两个printf怎么样?
我很困惑因为我在数组绑定之外访问.
在C语言中,对于if语句,有时我们可以看到测试'值放在要测试的变量之前,这可能带来一些优化(GCC编译器),但是哪一个?(但这会降低我的可读性).
例:
if ( 10 == val) {}
Run Code Online (Sandbox Code Playgroud)
谢谢,
我正在使用atof(word),其中单词是一种char类型。当单词是数字(例如 3 或 2)时它起作用,但 atof 不区分单词是运算符(例如 )"+"。有没有更好的方法来检查字符是否是数字?
我是 CS 的新手,所以我对如何正确执行此操作感到很困惑。
long long n, prod, i;
n = 13;
prod = 1;
for (i = 1 ; i <= n ; i++) {
prod *= i;
}
printf("%d\n", prod);
printf("%d\n", sizeof(long long));
Run Code Online (Sandbox Code Playgroud)
回报
$ 1932053504
$ 8
Run Code Online (Sandbox Code Playgroud)
结果显然是溢出的.但我不明白为什么会发生这种情况long long.sizeof(int)返回4 [字节],但产品是相同的.我究竟做错了什么?
这是我第一次在Stack Overflow上问一个问题,所以请随意告诉我,如果我做错了什么或不够具体.我现在用C语言编写微控制器大约4个.几天前,我参加了一个电子竞赛.许多问题之一是C代码行究竟是什么
int *(*(x[3])())[5];
Run Code Online (Sandbox Code Playgroud)
确实.这就是我记得的路线.一个支架可能在另一个位置,但我认为这就是这条线.
我的猜测是x是一个功能指针数组,我们采用第四个元素并取消引用它.然后在不移交参数的情况下执行该功能.returnvalue似乎是指向一个数组的指针,我们为了获取第一个元素的地址而将其解引用一次.然后我们选择该数组的第6个元素.我不知道int的用途是什么......
非常感谢你回答我的问题并度过了愉快的一天.