C 언어 에서 발생 하 는 문제 및 해결 방법

3002 단어 학습 노트
2012 년 5 월 5 일;
문제: 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 에 문제 가 있 습 니 다.현재 문제 의 원인 을 알 지 못 한다.

좋은 웹페이지 즐겨찾기