de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 user2929110
user2929110
Question

apa kesalahan Segmentasi (core dibuang)?

Saya mencoba untuk menulis program C di linux yang memiliki sqrt argumen, di Sini's kode:

#include<stdlib.h>
#include<stdio.h>
#include<math.h>

int main(char *argv[]){
    float k;
    printf("this is consumer\n");
    k=(float)sqrt(atoi(argv[1]));
    printf("%s\n",k);
    return 0;
}

Setelah saya ketik saya input di "shell> " prompt, gcc memberi saya kesalahan berikut:

Segmentation fault (core dumped)
88 2013-10-28T17:46:24+00:00 1
Natan Streppel
Natan Streppel
Pertanyaan edit 28 Oktober 2013 в 5:49
Pemrograman
c
Solution / Answer
Eric Finn
Eric Finn
28 Oktober 2013 в 5:49
2013-10-28T17:49:02+00:00
Lebih
Sumber
Sunting
#22645514

"kesalahan Segmentasi" berarti bahwa anda mencoba untuk mengakses memori yang anda tidak memiliki akses ke.

Masalah pertama adalah dengan argumen anda dari utama. Utama harus int main(int argc, char *argv[]), dan anda harus memeriksa bahwa argc setidaknya 2 sebelum mengakses argv[1].

Juga, karena anda're lewat di float untuk printf (yang, by the way, akan dikonversi ke double ketika melewati printf), anda harus menggunakan %f format specifier. The %s format specifier untuk string (&#39;\0&#39;-diakhiri karakter array).

Eric Finn
Eric Finn
Jawaban edit 28 Oktober 2013 в 7:05
117
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 2 hari yang lalu
2
Akshit Mehta
Terdaftar 4 hari yang lalu
3
me you
Terdaftar 1 minggu yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
BG
DA
DE
EL
ES
FR
ID
IT
JA
KO
NL
PT
RO
RU
SL
TR
ZH
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi