C 언어 에서 발생 하 는 문제 및 해결 방법
3002 단어 학습 노트
문제: for 문장 과 while 문장 뒤에 있 습 니 다.라 는 상황 이 었 다.... 에 해당 하 다
이것 은 빈 순환 을 실행 하 는 것 입 니 다. i 는 누적 되 지만 아무것도 실행 하지 않 습 니 다.조건 이 안 될 때 까지
for(;;)
;
while()
;
2012 년 5 월 10 일;
오늘부터 을 보면 알고리즘 의 몇 가지 특성 을 말 할 수 있 습 니 다. 그 중에서 efficiency 는 담 호 강 저 에서 예 를 들 어 a / b 의 조건 은 b 입 니 다! =0. 원문 에서 말 하 는 것 은 고 드 바 흐 의 추측 과 같다. 번역 하면 대체적으로 'n = 4 일 때 x ^ n + y ^ n + z ^ n = w ^ n 이 라면 계속 하 라' 는 문 구 를 쓸 수 없다. 이 문 구 는 컴퓨터 가 한 걸음 에 실현 할 수 없 기 때문에 무효 이다.중국어 판 교재 가 원작 의 뜻 을 곡해 한 것 인지 모르겠다.
2012 년 5 월 18 일;
C 언어의 일치 성
표준 에 따 른 C 실현 은 두 가지 가 있다. 숙주 식 과 독립 식 이다.
만약 에 C 가 모든 엄격 한 기준 을 따 르 는 절 차 를 받 아들 이면 그것 은 기준 을 따 르 는 숙주 식 실현 이다.만약 에 C 가 모든 엄격 한 기준 을 받 아들 이 고 float. h, iso 646. h (C95), limits. h, stdarg. h (C99), stdbool. h 와 stdint. h (C99) 를 제외 한 모든 라 이브 러 리 함 수 를 적용 하지 않 는 다 면 그녀 는 표준 에 따 른 독립 식 실현 이다.
일치 성 프로그램 은 일치 성 컴 파일 러 가 받 아들 일 수 있 는 프로그램 이다.따라서 일치 성 프로그램 은 일치 성 C 실현 에서 일부 비 이식 적 이 고 컴 파일 러 가 정의 하 는 특성 에 의존 할 수 있다.엄격 한 일치 성 절 차 는 이러한 특성 에 의존 할 수 없다.여기 서 제 관점 은 graphic. h 는 Turbo C + + 의 특징 라 이브 러 리 함수 입 니 다. 다른 컴 파일 러 에 없습니다. 이렇게 이 라 이브 러 리 함 수 를 호출 하 는 프로그램의 이식 성 이 떨 어 집 니 다. 엄격 한 일치 성 이란 C 기준 과 엄격 한 일치 이 고 C 기준 이외 의 그 어떠한 라 이브 러 리 함수 와 특성 도 포함 하지 않 습 니 다.(제 이해 가 잘 못 됐 는 지 보 시 는 분 들 이 지적 해 주 셨 으 면 좋 겠 습 니 다.) 'C 언어 참고 수첩 (제5 판)' 을 참고 하 세 요.
void (*Fun)();
void myfunction()
{
printf(" ?
");
}
int main()
{
Fun ptr = myfunction;
ptr();//
(*ptr)();//
return 0;
}
C / C + + 에 서 는 표현 식 에서 함수 이름 이 함수 의 주 소 를 얻 기 때 문 입 니 다. 이것 도 함수 이름 을 함수 포인터 에 할당 할 수 있 는 이유 입 니 다. 즉, 함수 이름 은 배열 이름 과 같 습 니 다. 그 자체 가 표현 식 에서 주소 이지 값. double (* pfun) (double) = func 가 아 닙 니 다.필요 하지 않 음 = & func;& func 가 일반 변수 주소 로 해석 하면 의미 적 으로 통 하지 않 기 때문에 표준 규정 func = = & func;함수 포인터 호출 할 때 도 * pfun () = pfun () 입 니 다.
2012 년 6 월 4 일
// print, , 5 , num,name,score[3], , print 。
#include
struct Student
{
char num[5];
char name[8];
int score[3];
}student[5];
void main()
{
void print(struct Student student[5] );
int i,j;
for(i=0;i<5;i++)
{
printf("
:%d
",i);
printf(" :");
scanf("%s",student[i].num);
printf(" :");
scanf("%s",student[i].name);
for(j=0;j<3;j++)
{
printf(" %d:",j);
scanf("%f",&student[i].score[j]);
}
printf("
");
}
print(student);
}
void print(struct Student student[5])
{
int i,j;
printf(" 1 2 3
");
for(i=0;i<5;i++)
{
printf("%5s%10s",student[i].num,student[i].name);
for(j=0;j<3;j++)
{
printf("%d",student[i].score[j]);
}
printf("
");
}
}
이 코드 는 gcc struct. c 를 사용 한 후. / a. out 으로 실행 하 는 데 문제 가 없습니다.하지만 gcc - o struct. c 를 사용 한 후 실행 합 니 다. / struct 에 문제 가 있 습 니 다.현재 문제 의 원인 을 알 지 못 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
STL 학습노트(6) 함수 객체모방 함수는 모두pass-by-value이다 함수 대상은 값에 따라 전달되고 값에 따라 되돌아오기 때문에 함수 대상은 가능한 한 작아야 한다(대상 복사 비용이 크다) 함수 f와 대상 x, x 대상에서 f를 호출하면:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.